Boot più veloce in Ubuntu Natty con e4rat (Ext4 – Reducing Access Times)

Le prestazioni del boot delle ultime versioni di Ubuntu hanno risentito del passaggio a ext4. Sul mio portatile per esempio, forse anche a causa  dei diversi programmi che installo, ci vuole più di un minuto per arrivare al desktop.

Su questa guida sono venuto a conoscenza di e4rat (Ext4 – Reducing Access Times) un tool che lavora sulla riallocazione dei blocchi occupati dai programmi caricati all’avvio.

Prima di procedere, ho rimosso i servizi in upstart e le applicazioni di avvio in gnome, arrivando a quanto visibile in queste immagini:

Per poter capire se effettivamente c’è un guadagno di tempi d’avvio, ho concentrato l’attenzione su alcune righe di ‘dmesg‘, piu o meno quelle relative al boot del sistema e al caricamento di gdm, queste sono quelle prima della modifica (62 secondi per arrivare alla wlan):

[ 26.243112] vboxpci: IOMMU not found (not registered)
[ 53.793160] EXT4-fs (sda6): re-mounted. Opts: errors=remount-ro,commit=0
[ 62.878439] wlan1: authenticate with 00:1c:cf:xx:xx:xx (try 1)

Per installare e4rat, scaricato da qui, vanno rimossi ureadahead e ubuntu-minimal.

Il primo passaggio è di aggiungere una sola volta a grub  e4rat-collect che nel tempo di 120 secondi accoderà nel file /var/lib/e4rat/startup.log i dati che verranno rielaborati da e4rat-realloc.

La prima modifica riguarderà il file /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="init=/sbin/e4rat-collect quiet splash"

aggiorniamo grub e riavviamo in modalità single (ripristino)

sudo update-grub

al prompt di root in single mode (runlevel 1) useremo

e4rat-realloc  /var/lib/e4rat/startup.log

Finito questo passaggio possiamo inserire la riga per rendere permanente il boot veloce, editiamo il file /etc/default/grub e aggiorniamo

GRUB_CMDLINE_LINUX_DEFAULT="init=/sbin/e4rat-preload quiet splash"

sudo update-grub

Al riavvio finale i tempi si sono dimezzati, incredibile ma vero.

[ 21.480143] vboxpci: IOMMU not found (not registered)
[ 27.185180] EXT4-fs (sda6): re-mounted. Opts: errors=remount-ro,commit=0
[ 32.864596] wlan1: authenticate with 00:1c:cf:xx:xx:xx (try 1)

Enjoy :)

12 Responses to Boot più veloce in Ubuntu Natty con e4rat (Ext4 – Reducing Access Times)

  1. Utilissimo tip, penso di applicarlo più in là :D
    Grazie della dritta ;)

  2. A me é migliorato solo di 5 sec :(

    • @Luca
      Credo che dipenda da alcuni fattori, il “collect” e il preload, dovrebbe essere fatto almeno due volte e appena si apre gnome, lanciare i programmi soliti che rientrino nei 120 secondi (tempo che può essere impostato in /etc/e4rat.conf
      Considera però che dipende dal kernel in uso e da quanti servizi vengono caricati all’avvio ;)
      ciao,
      Antonio

  3. A me con SSD mi stava 32.8″ con Ubuntu 11.04 adesso 33.5″ :( ((
    ciao

    • scusa, ma il filesystem è ext4? il file /var/lib/e4rat/startup.log contiene i riferimenti ai blocchi? cerca di capire se ci sono servizi attivi prima di fare il test ;)
      Ciao,
      Antonio

      • il file system e’ in ext4 senza journaling , il comando ls /var/lib/e4rat/ mi da’ startup.log , quindi ok. I servizi attivi non gli ho modificati.
        Ciao

  4. Pingback: Boot più veloce in Ubuntu Natty con e4rat (Ext4 – Reducing Access Times) | Toolinux.it « Antonio Tarallo

  5. Ho dovuto un po’ riadattare le istruzioni per Ubuntu 12.04, ma a quanto pare ha funzionato. :) I secondi precisi non li saprei dire, paradossalmente il wireless si carica dopo in dmesg, però complessivamente mi sembra più veloce l’avvio, e anche il caricamento di Unity. ;)

  6. @Lazza
    scusa il ritardo, non riesco a seguire tutto. Mi piacerebbe sapere cosa intendi per “riadattare”. Ciao, Antonio

    • Se non ricordo male qui “aggiorniamo grub e riavviamo in modalità single (ripristino)” hai dimenticato di dire che prima ci vuole un riavvio “normale” così il software raccoglie i dati, e poi un altro riavvio per andare in modalità testuale. Io comunque non ho usato la modalità single perché mi dava problemi, ho optato per andare in tty. :)

  7. A dire il vero, essendo passato qualche mese, non ricordo e forse hai ragione tu, potrei aver scritto male.
    Anche se mi pare che il collect dei dati “init=/sbin/e4rat-collect” passato come parametro a grub al boot avviene comunque. Rimane il fatto che questa strada non è stata percosa finora anche se, secondo me, apporta lievi vantaggi.
    ciao,
    Antonio

Lascia un Commento

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

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>