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 🙂
Bl@ster
Utilissimo tip, penso di applicarlo più in là 😀
Grazie della dritta 😉
Luca
A me é migliorato solo di 5 sec 🙁
Antonio Doldo
Certo, visto che anche i tuoi amici arcieri ne parlano:
https://wiki.archlinux.org/index.php/E4rat
🙂
ciao,
A presto
Antonio Doldo
@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
Fabio
A me con SSD mi stava 32.8″ con Ubuntu 11.04 adesso 33.5″ :(((
ciao
Antonio Doldo
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
Fabio
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
Lazza
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. 😉Antonio Doldo
@Lazza
scusa il ritardo, non riesco a seguire tutto. Mi piacerebbe sapere cosa intendi per “riadattare”. Ciao, Antonio
Lazza
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. 🙂
Antonio Doldo
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