Come posso migliorare il mio tempo di avvio / spegnimento?


29

Ho un laptop abbastanza decente (CPU Intel Core i7-3520M a 2,90 GHz, SSD SataII di Samsung, 8 GB di RAM), ma non sono soddisfatto dei miei tempi di avvio e spegnimento ... Ho installato il diagramma di avvio e sto cercando di interpretarlo , ma non capisco alcune parti.

Output del diagramma di avvio

In particolare, non riesco a capire cosa succede nei primi 10 secondi, quando non c'è quasi nessun utilizzo della CPU, né I / O. Cosa sta succedendo allora? (sembrano esserci solo udevd, modprobe e plymouth in esecuzione).

All'altra estremità del mio lavoro quotidiano, ho anche sperimentato un arresto lento. Nessun grafico di abbattimento qui, quindi sono ancora più all'oscuro ...

Aggiornamento Mi è venuto incontro un suggerimento che dice di premere il tasto Su mentre lo spegnimento dà accesso alla console (prima avevo combattuto con F1 / Alt F1). Quindi ho visto che il lungo tempo di spegnimento sembra avere a che fare con rpcbind e il modem-manager non è in grado di uscire in modo pulito ... Qualche idea?

Aggiornamento 2 Ho disinstallato rpcbind e modemmanager. Ciò ha reso le cose migliori per l'arresto, ma ho ancora diversi secondi in attesa tra il messaggio "Tutti i processi terminati entro 1 secondo" e l'arresto reale. Proprio in quel momento, ricevo un messaggio veloce che non sono ancora riuscito a leggere, ma sospetto che si verifichi una sorta di timeout ...

Aggiornamento 3 Ok, penso di aver ristretto le cose all'esecuzione di resume e wait-for-root durante i primi 10 secondi del processo di avvio. Questo richiede più di 5 secondi, senza disco né attività della CPU evidente. Ho notato che l'UUID di swap in /etc/initramfs/conf.d/resume non corrisponde al vero UUID della mia partizione di swap, che sembra essere ... criptato. Forse è questo il punto? Qualche suggerimento su initramfs-tools e cryptswap?


So che questo non è correlato. Ma non voglio ancora mancare di suggerirti di usare la sospensione (su ram / su disco) come alternativa. Da "off-state" a "running-state" questo è meno di 3 secondi per il mio sistema più debole
umanità e

1
La sospensione su disco non è in qualche modo sconsigliata quando si utilizza SSD, poiché implica la scrittura della memoria su disco ogni volta ... ma hai ragione a riprendere da sospendere a ram è veloce.
alci

1
Mi aspetterei circa 15 secondi, forse 10. Il mio SSD è davvero veloce e la mia CPU non è male, penso di poterne ottenere il meglio. Ad essere sinceri, il tempo di avvio non è poi così male, ma il tempo di spegnimento è. Detto questo, aver rimosso rpcbind e modem-manager (lo ha fatto oggi) ha migliorato le cose. Penso anche di capire i primi 10 secondi di avvio: sembra essere il tempo che succede in initramfs, con udev che carica i driver e / dev popola. Non so se può essere molto più veloce ... (vedi www.debian-administration.org/articles/620)
alci

1
è positivo che tu abbia fatto progressi con lo spegnimento. Hai avuto fortuna con il processo di avvio? è UDEV il colpevole?
umanità e

1
Grazie, rpcbind e modem-manager mi hanno aiutato - e anche rngd: bugs.launchpad.net/ubuntu/+source/rng-tools/+bug/1425036 Ora finalmente ci vuole la mia macchina (Lenovo W530 con un SSD, quindi ancora potente) meno tempo per lo spegnimento e l'avvio (entrambi meno di 10 secondi).
sup

Risposte:


12

Ok, ho trovato il problema. Come mi sentivo, i 5 secondi in attesa di ripresa e di attesa per root non sono normali.

Cercando su Google, ho finalmente trovato questo bug report: 5 secondi di ritardo su wait-for-root

In sostanza, afferma che l'attesa di 5 secondi è dovuta a un'entrata errata /etc/initramfs-tools/conf.d/resume.

Si scopre che il mio scambio è crittografato e ho avuto l'UUID di installazione iniziale in /etc/initramfs-tools/conf.d/resume. Ho provato a mettere quello dato da blkid per / dev / mapper / cryptswap1, ma non ha funzionato ...

Alla fine ho appena commentato la voce nel file e il ritardo di 5 secondi è sparito. In ogni caso, l'ibernazione non è abilitata sul mio sistema (penso che sia disabilitato di default in Ubuntu). Si noti il ​​# all'inizio della voce.

#RESUME=UUID=3835540d-0cb4-46fc-b39a-de9ff88dcefd

quindi eseguire:

sudo update-initramfs -u

Quindi ecco il mio ultimo diagramma di avvio:

bootchart

Molto meglio. Per quanto riguarda l'arresto, rimuovere rpcbind e modemmanager ha funzionato. Ora ho grandi tempi di avvio e spegnimento.


È molto bello vedere che hai scoperto questo problema relativo allo scambio wait_for_root ecc. E sei riuscito a ridurre il tempo di avvio. @alci riguardo a te "abbastanza grande 8GB" Mi chiedevo per cosa usi il tuo PC in modo che abbia senso usare uno scambio dopo tutto? Hai mai usato la partizione di swap, quindi alcune tue applicazioni usano ram da 8 GB? Wow? altrimenti potresti aver evitato problemi di scambio non utilizzandolo in primo luogo.
umanità e

1
Il mio scambio è qui perché ... Ho sempre avuto uno scambio con le mie installazioni di Linux. E ho sempre applicato la vecchia regola empirica: swap size = ram size :-). Uso mai più di 8 GB di RAM? Normalmente no. Ma cosa accadrebbe se lo facessi e non avessi swap? E qual è il costo di uno scambio?
alci,

-6

Forse vorresti prendere in considerazione l'installazione del tuo sistema operativo su RAM? Se la vera velocità è ciò che stai cercando, allora lo sarebbe. La differenza tra il tempo di caricamento SSD e il tempo di caricamento RAM è semplicemente enorme.


17
Bella idea, ma troverei un po 'inopportuno dover reinstallare il mio sistema operativo ogni volta che spengo la RAM ... :-)
alci

Tecnicamente parlando, un sistema installato su RAM svanirà una volta spento il computer
Ed Villegas,

Naturalmente, ecco perché acquisti un UPS e non lo lasci mai spegnere.
Kaspar,

Installa il tuo sistema operativo nella RAM? memcache lo sta già spingendo, ma stai installando il tuo sistema operativo?
Linuxios,

@ Linuxios L'ho fatto una volta, copiando un'immagine della mia partizione <2.5GB / root in una partizione tmpfs in ram. Dopo la lunga copia iniziale di 2,5 GB, i dati vengono eseguiti abbastanza rapidamente. Tuttavia, come dice @ Linuxios, il tipo di memorizzazione nella cache di Linux raggiunge velocità simili. Questo commento è solo per dire: non è assolutamente folle avere un Linux in esecuzione nella RAM. È fattibile. quando si copia indietro l'immagine prima dell'arresto, può persino diventare una cosa persistente :)
umanità e
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.