Una nuova patch a 4 righe che può aumentare notevolmente le prestazioni del tuo sistema

Per farla breve, pochi giorni fa uno degli sviluppatori del kernel ha caricato una patch (200 righe di codice) che hanno permesso di migliorare notevolmente (quasi 10 volte) le prestazioni del sistema, soprattutto quando si ha a che fare con il multitasking durante l'esecuzione di un compito pesante (come la compilazione del kernel). Linus si è congratulato con questo sviluppatore per il suo grande contributo. Tuttavia, uno sviluppatore Red Hat, Lennar Poettering non ha accettato di implementare questo miglioramento direttamente dal kernel; era meglio per lui apportare le modifiche nello spazio utente (~ / .bashrc). Linus si è arrabbiato e ha rimproverato questo sviluppatore, dicendogli che i risultati parlavano da soli. Lennar, invece di rispondere con parole dure, si è seduto e ha escogitato un'alternativa (che non necessita di patchare il kernel) e che occupa solo 4 righe. Alla fine, hanno zitto Linus ... 

Nota: questo metodo richiede il supporto per gruppi di attività nel kernel Linux (cgroups), ovvero solo gli utenti con kernel superiore a 2.6.36 possono applicarlo.

Come applicare la patch in Fedora

1. - Modifica il file ~ / .bashrc.

gedit ~ / .bashrc

2. - Incolla il codice seguente alla fine del file:

se ["$ PS1"]; poi
mkdir -m 0700 / sys / fs / cgroup / cpu / user / $$
echo $$> / sys / fs / cgroup / cpu / user / $$ / tasks
fi

3. - Esegui i seguenti comandi:

mount -t cgroup cgroup / sys / fs / cgroup / cpu -o cpu
mkdir -m 0777 / sys / fs / cgroup / cpu / utente

Come applicare la patch in Ubuntu

In Ubuntu le cose sono un po 'più complicate ...

1. - Modifica il file rc.local con questo comando:

sudo gedit /etc/rc.local

e incolla prima dove dice "uscita 0", quanto segue:

mkdir -p / dev / cgroup / cpu
mount -t cgroup cgroup / dev / cgroup / cpu -o cpu
mkdir -m 0777 / dev / cgroup / cpu / utente
echo "/ usr / local / sbin / cgroup_clean"> / dev / cgroup / cpu / release_agent

2. - Salva il file e dagli i permessi di esecuzione:

sudo chmod + x /etc/rc.local

3. - Modifica il file ~ / .bashrc:

gedit ~ / .bashrc

4. - Incolla il codice seguente alla fine del file:

se ["$ PS1"];
quindi mkdir -m 0700 / dev / cgroup / cpu / user / $$
echo $$> / dev / cgroup / cpu / user / $$ / tasks
echo "1"> / dev / cgroup / cpu / user / $$ / notify_on_release
fi

5. - Modifica il file cgroup_clean:

sudo gedit / usr / local / sbin / cgroup_clean

6. - Incolla il codice seguente alla fine del file:

# / Bin / sh
se ["$ *"! = "/ utente"]; poi
rmdir / dev / cgroup / cpu / $ *
fi

7. - Salva il file e dagli i permessi di esecuzione:

sudo chmod + x / usr / local / sbin / cgroup_clean

8. - Riavvia il sistema.

Nota: se vedi la cartella / dev / cgroup /, noterai un notevole miglioramento nella gestione del multitasking.

Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   thalskarth suddetto

    Ho trovato le istruzioni per Arch, sono qui: http://pastebin.com/raw.php?i=sHRYRuAN

    Da parte mia ho applicato la patch, molto miglioramento non noto in generale, ma se si nota un grande cambiamento nello scroll delle pagine web, sono davvero fluide per la prima volta !!! =)

  2.   Usiamo Linux suddetto

    Grande! Grazie mille per la condivisione!
    Ti ho detto che stiamo cercando persone che usano Arch per blog? Se sei interessato scrivi a usiamo Linux@gmail.com
    Un grande abbraccio! Paolo.

  3.   thalskarth suddetto

    Grazie per l'invito, poi continueremo per mail quindi 😉

  4.   thalskarth suddetto

    Per caso non ci saranno istruzioni per Archlinux, giusto? 🙂

  5.   Usiamo Linux suddetto

    Non li ho trovati. Ma qualcosa mi dice che sicuramente è più simile a Fedora. D'altra parte, va tenuto presente che poiché tutti assemblano Arch come vogliono, forse questo influenza la procedura da seguire ...

  6.   thalskarth suddetto

    Qui ho scoperto come applicarli in Archlinux, è abbastanza simile a fedora: http://pastebin.com/raw.php?i=sHRYRuAN

  7.   Miquel Mayol e Tur suddetto

    bash: / dev / cgroup / cpu / user / $ / tasks: il file o la directory non esiste

    Ho seguito queste istruzioni e continua a dirmi questo errore all'apertura del terminale AMD64 x se ha qualcosa da fare

  8.   Miquel Mayol e Tur suddetto

    L'ho già trovato, per favore Pablo correggilo http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html

    Cosa fare in Ubuntu - invece di quello che metti - è:

    sudo gedit / usr / local / sbin / cgroup_clean

    e metti questo:

    # / Bin / sh
    se ["$ *"! = "/ utente"]; poi
    rmdir / dev / cgroup / cpu / $ *
    fi

  9.   Usiamo Linux suddetto

    Pronto! Corretto! Grazie!

  10.   Usiamo Linux suddetto

    È vero! Grazie per avermi ricordato!
    Ho appena aggiunto questa precisazione all'inizio del post.
    Un abbraccio! Paolo.

  11.   Dasinox suddetto

    Nello specifico, quali vantaggi otterrò come utente e quali miglioramenti delle prestazioni si vedranno nel mio sistema.

  12.   Usiamo Linux suddetto

    Sta andando tutto molto più velocemente. Tuttavia, le differenze sono realmente "viste" quando si esegue un compito pesante e si desidera svolgere altri compiti allo stesso tempo. Ad esempio, stai eseguendo l'installazione di diversi programmi o stai compilando il kernel o modificando un video pesante e allo stesso tempo vuoi navigare in Internet o guardare un film, ecc.

  13.   Usiamo Linux suddetto

    Fammi sapere se scopri come implementare la patch in Arch. Proverei a eseguire quella che funziona in Fedora.
    Abbraccio! Paolo.

  14.   Usiamo Linux suddetto

    Immagino che dipenda da come usi il tuo computer. Se usi a malapena Internet e qualche editor di testo leggero ... non "sentirai" la differenza. D'altra parte, se sei come me e svolgi compiti pesanti (come convertire video, compilare il kernel, ecc.) Mentre navighi in Internet o guardi film, puoi vedere la differenza.

  15.   domenicapv suddetto

    Dopo tutti i passaggi, quando apro il terminale ottengo sempre quanto segue:
    mkdir: Impossibile creare la directory "/ dev / cgroup / cpu / user / 1844": il file o la directory non esiste
    bash: / dev / cgroup / cpu / user / 1844 / tasks: il file o la directory non esiste
    bash: / dev / cgroup / cpu / user / 1844 / notify_on_release: il file o la directory non esiste
    domingopv @ pc1: ~ $
    Funziona tutto bene anche il terminale, hai fatto qualcosa di sbagliato?

  16.   Usiamo Linux suddetto

    Hmm ... davvero non so cosa possa essere. Tuttavia, ho l'impressione che sia molto probabile che alcuni passaggi non siano stati ben eseguiti, dal 5 in poi soprattutto. Prova a ripeterli o ad assicurarti di averli correttamente. È tutto quello a cui riesco a pensare per ora.
    Un grande abbraccio! Paolo.

  17.   domenicapv suddetto

    Reinstallare maverick e reinstallare la patch e ora ottengo quanto segue.
    mkdir: Impossibile creare la directory "/ dev / cgroup / cpu / user / 1678": il file o la directory non esiste
    bash: / dev / cgroup / cpu / user / 1678 / tasks: il file o la directory non esiste
    bash: / dev / cgroup / cpu / user / 1678 / notify_on_release: il file o la directory non esiste
    domingopv @ pc1: ~ $

  18.   Usiamo Linux suddetto

    Uyy .. Non so davvero cosa possa essere. Ha funzionato perfettamente per me.
    Qualcosa mi dice che la pulizia del cgroup non è fatta bene. Ecco perché ho insistito perché vedessi dal passaggio 5 in poi.
    Saluti! Paolo.

  19.   non dico suddetto

    Madre mia, impressionante, posso vedere video in flash 1080p su una nvidia 8400 passiva, voglio dire, male male, PERFETTAMENTE, le CPU funzionano tutte, meraviglioso uffff, questo migliora, è molto meglio, ho Ubuntu 10.04 😀 buono, i video sono buoni per me hahaha 😀

  20.   Delano suddetto

    Cosa rc.local? Ce ne sono diversi, qual è? Saluti.

  21.   Usiamo Linux suddetto

    Ho appena scritto i comandi elencati al punto 4. Non è necessario copiarli in un file ma eseguire quei comandi.
    Saluti! Paolo.

  22.   Suggerimenti per GNU / Linux suddetto

    È spiegato male.

    Quello che devi fare è modificare il file rc.local con:

    sudo gedit /etc/rc.local

    Devi incollare all'interno (prima dell'uscita 0):

    mkdir -p / dev / cgroup / cpu
    mount -t cgroup cgroup / dev / cgroup / cpu -o cpu
    mkdir -m 0777 / dev / cgroup / cpu / utente
    echo "/ usr / local / sbin / cgroup_clean"> / dev / cgroup / cpu / release_agent

    Questo è il problema. Questi passaggi sono spiegati male.

  23.   Usiamo Linux suddetto

    Hai ragione! Dice chiaramente "modifica il file rc.local". Quello che mancava da aggiungere è il comando per fare una cosa del genere (che alcuni potrebbero non sapere). Lo aggiungo adesso.
    Grazie per l'avviso! Saluti! Paolo.

  24.   Espinoza suddetto

    Quale sarebbe la procedura in PCLinuxOs?

  25.   Usiamo Linux suddetto

    La verità è che non lo so ...
    Se lo scopri, non dimenticare di condividere i dati con gli altri!
    Grazie mille!
    Saluti! Paolo.

  26.   gonho suddetto

    Mi sembra o non hai messo nessun riferimento da dove l'hai preso? Potresti dirmi la fonte?

    grazie

  27.   Usiamo Linux suddetto

    Non esiste un'unica fonte. Cercavo come farlo da diverse fonti e dalla mia esperienza personale. In termini generali, posso dirti che le fonti sono i milioni di blog che hanno riprodotto quella notizia. Cerca "patch 200 linux kernel lines" e vedrai di cosa sto parlando. Non ricordo esattamente, ma la parte Ubuntu potrebbe essere stata ottenuta da WebUpd8; non è così per Fedora.

  28.   fortunati0921 suddetto

    Sono un utente di non molto tempo fa, di Ubuntu 64 bit e quando vedo questo suggerimento comincio a indagare e il kernel corrente che ho è 2.6.32-27 secondo il post, questa patch può essere applicata solo a kernel che sono superiori o uguali a 2.6.36 La mia domanda è se questa modifica funziona solo per le distribuzioni a 32 bit o nella mia distribuzione attuale il kernel può essere aggiornato a 2.6.36?

    Grazie per tutte le info sul web, ottimo materiale.

  29.   Usiamo Linux suddetto

    Questa modifica funziona allo stesso modo per 32 e 64 bit.
    Saluti! Paolo.

  30.   Signor Tuxito suddetto

    a una domanda, e questo non incasinerebbe alcun aggiornamento successivo?
    Se non andasse bene, quale sarebbe la cosa peggiore che potrebbe accadere?
    (Si vede che il passaggio da Ubuntu 10.04 a 10.10 provoca il crash di tutto)

  31.   gesùlara suddetto

    La prima cosa che dovrebbe essere chiarita (per evitare l'uso irresponsabile del metodo) è che richiede il supporto per gruppi di attività nel kernel Linux (cgroups), cioè solo gli utenti con kernel superiore a 2.6.36 potrebbero applicare questo metodo di miglioramento.