Come velocizzare l'avvio molto lento su Ubuntu 16.04?


39

Sto cercando di capire cosa devo fare per accelerare il mio avvio con Ubuntu 16.04. Ho eseguito dmesg e salvato l'output qui . Sembra che tutto vada storto dopo circa 10 secondi.


Se guardi il tuo dmesg, potresti trovare una voce come "le nuove opzioni di montaggio non corrispondono al superblocco esistente". Se è così Google per quella stringa e ti porterà a un bug di Linux che non è mai stato corretto
NickT

Non credo di vedere questo errore o simili.
Packwood,

Perché ritieni che le cose peggiorino dopo 10 secondi? Quale messaggio pensi sia particolarmente preoccupante?
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Risposte:



29

Modificare l' UUID / etc / fstab dello spazio di swap (in modo che corrisponda all'output di sudo blkid) ha funzionato come un incantesimo!

Nota : in seguito, se nel /etc/crypttabfile sono presenti voci di scambio , è necessario modificare il secondo parametro in modo che corrisponda allo spazio di scambio, tramite UUID o percorso (ovvero UUID = qualcosa o / percorso / a / scambio).

Sul mio SSD l'avvio è passato da 2 minuti a meno di 10 secondi.

Il fatto è che ho appena fatto un normale aggiornamento dal 14.04 al 16.04, senza problemi con le partizioni, quando è iniziato questo problema. Chiaramente ci sono alcuni problemi con la procedura di aggiornamento.


Grazie a ciò mi ha aiutato molto: a scopo di test avevo messo uno scambio su un caddy rimovibile, nessun problema di avvio quando il disco non era lì su 14.04, su avvio 16.04 ci sono voluti 1 o 2 minuti in più. Sembra che il kernel 3 sia stato più veloce del kernel 4 quando non ha fondato lo swap.
Emmanuel,

Grazie. mi hai risparmiato un sacco di tempo. Stavo anche aggiornando il sistema dalla 14.04, quindi si è verificato questo problema.
PaladiN,

Grazie, ho avuto lo stesso problema con UUID di scambio errato, una volta modificato per abbinarlo a Blkid, ci sono voluti un lungo tempo di avvio da circa 60 secondi a soli 5 secondi
Brandon Søren Culley

2
Cerca in askubuntu.com/questions/38533/… answer per maggiori informazioni su come farlo. Ha ridotto il mio tempo di avvio da 100+ secondi a 15.
Dmitry

sì, aggiorno a 17.10 ma il mio scambio uuid corrisponde al risultato di "blkid"
Vasil Valchev

10

Ho riscontrato un problema simile con un tempo di avvio più lungo dopo l'aggiornamento.

Qual'era il problema? Avevo eliminato il mio spazio di scambio, quindi il mio file / etc / fstab e il nuovo file system avevano conflitti. Il boot loader ha aspettato quasi 1m 30s per trovarlo.

Come ho risolto il problema Esegui sudo blkid

Apri il tuo file / etc / fstab e confronta la corrispondenza del uuid con le partizioni che hai. In caso di mancata corrispondenza, modificarlo e riavviare.


L' dmesgoutput nella domanda mostra che OP ha un problema diverso.
Byte Commander

9

È una soluzione alternativa, ma ciò ha ridotto significativamente il tempo di avvio (da 1 minuto 24 a 16 secondi).

sudo vim /etc/systemd/system.conf

Rimuovi il commento da questi due parametri e imposta il timeout desiderato:

DefaultTimeoutStartSec=10s
DefaultTimeoutStopSec=10s

Nota: ottimizza questi valori per soddisfare le tue esigenze hardware ~ 5 - 60s.

Come discusso qui, questi parametri configurano i timeout predefiniti per l'avvio e l'arresto delle unità, nonché il tempo di sospensione predefinito tra i riavvii automatici delle unità, come configurato per unità in TimeoutStartSec=, TimeoutStopSec=e RestartSec=(per i servizi, vedere systemd.service (5) per dettagli sulle impostazioni per unità).

Per le unità non di servizio, DefaultTimeoutStartSec=imposta l'impostazione predefinita TimeoutSec= value. DefaultTimeoutStartSec=e DefaultTimeoutStopSec=predefinito a 90s. DefaultRestartSec=il valore predefinito è 100ms.


Modifica - Più in dettaglio:

Ho analizzato la sequenza di avvio in base alla systemd-analyze plot > sequence.svgquale i servizi non si avviavano sul mio sistema operativo appena aggiornato. Ce n'erano tre: uno era un demone sendmail non configurato correttamente, quindi powerd.service e NetworkManager-wait-online.service . Dato che non è una buona idea disabilitare completamente il servizio NetworkManager, lo lascio scadere dopo 10 secondi e ho applicato questa regola a livello globale.


2
Potresti espandere il modo in cui questa soluzione ha ridotto i tempi di avvio di 68 secondi?
Elder Geek,

Nessun problema, divertiti!
Mirek,

non funziona per me poiché dopo aver applicato le modifiche il mio tempo di avvio è passato da 52 a 57 secondi.
Woeitg,

1
10s è troppo basso. Può rendere l'avvio in modalità di ripristino. Sto usando 30s
Anwar il

10s ha rotto il mio avvio nel 18.04. Ora riparo Ubuntu in modalità di ripristino.
Pasupathi,

1

Ciò potrebbe essere correlato a problemi del filesystem. Potresti voler controllare questo link per vedere se riparare il tuo filesystem migliora il tempo di avvio: https://help.ubuntu.com/community/Filesystem


Hmm. ora sembra essere [più lungo!] ( pastebin.com/a5g4wHvA ) Sembra che vada storto dopo circa 30 secondi. "eth0: il collegamento non è pronto" "nf_conntrack: l'assegnazione automatica degli helper è obsoleta e verrà presto rimossa. Usa invece l'obiettivo iptables CT per collegare gli helper"
Packwood

0

Ho avuto un problema simile che ho appena risolto: eseguo Ubuntu 16.04 su un SSD. Uso un'unità flash come partizione di swap. L'unità è stata accidentalmente spostata leggermente e sono stati necessari più di 3 minuti per l'avvio. L'ho rimesso correttamente e ora va tutto bene. Nel caso in cui tu abbia provato smartctl o fsck e il tuo filesystem sia ok, prova a rimuovere le unità flash (o altre periferiche?) E guarda come va. In bocca al lupo!


0

Sulla base dell'output di pastebin un paio di cose mi saltano fuori:

EXT4-fs (sda5): re-mounted

Potresti voler scaricare questo volume e dare un'occhiata a Smart Data per quell'unità.

e

[   31.022220] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   45.720952] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   45.761548] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready

Potresti provare a disabilitare IPV6 sulle tue connessioni di rete se la tua connessione non lo supporta.


0

Seguendo il suggerimento di user536489:

colpa di systemd-analizza

Controlla se esiste un servizio che impiega molto tempo ad avviarsi e imposta un timeout inferiore:

sudo vim /lib/systemd/system/networking.service

Cambia TimeoutStartSecin qualcosa del genere 10s. La pagina man indica Prende un valore senza unità in secondi o un valore di intervallo di tempo come "5min 20s". Passare "infinito" per disabilitare la logica di timeout.

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.