Il miglioramento del tempo di avvio è fortemente correlato alla disabilitazione / gestione del servizio, ma le risposte attuali mancano di dettagli nella disabilitazione dei servizi che utilizza systemd
.
Che cos'è systemd?
In breve, systemd è un gestore di sistemi e servizi per Linux, compatibile con gli script di inizializzazione SysV e LSB. Maggiori informazioni su questo possono essere lette dalla pagina ufficiale del progetto .
Controlla quali servizi richiedono più tempo
Utilizzare il comando seguente per verificare quale servizio richiede la maggior parte del tempo
systemd-analyze blame
Disabilitazione dell'avvio automatico dei servizi durante l'avvio
Se si desidera disabilitare l'avvio automatico dei servizi durante l'avvio, è possibile utilizzare il comando seguente
sudo systemctl disable some-time-eater-service.service --now
Tuttavia, potresti voler vedere quali altri servizi richiedono il servizio in questione. Per verificare utilizzare il seguente comando
systemctl list-dependencies some-time-eater-service.service --reverse
Nota: sostituire some-time-eater-service.service
con il nome del servizio effettivo come postgresql@9.5-main.service
.
Si noti che la disabilitazione dell'avvio automatico non rende un servizio non avviabile. Il servizio può essere avviato dopo l'avvio in caso di necessità. Se si desidera disabilitarlo completamente, leggere la sezione successiva
Disabilitazione completa dei servizi.
Se si desidera disabilitare completamente un servizio in modo che non possa essere avviato, è necessario utilizzare mask
invece di disabilitare. Come questo
sudo systemctl mask <SERVICE-NAME>
Sostituisci <SERVICE-NAME>
con il nome effettivo di un servizio
La differenza tra mask
e disable
è maschera rende un servizio completamente disabilitato, non è possibile avviarlo. È necessario unmask
avviarlo con systemd (è ancora possibile iniziare con service
). Ma disable
disabilita semplicemente l'avvio automatico di un servizio, puoi avviarlo in un secondo momento.
Ad esempio, dopo aver mascherato il mio postgresql@9.5-main.service
servizio, quando volevo avviarlo con systemctl
il seguente messaggio viene visualizzato
Failed to start postgresql@9.5-main.service: Unit postgresql@9.5-main.service is masked.
Strumento GUI
Uno strumento GUI che trovo particolarmente interessante è systemd-manager
, è ancora in fase di sviluppo e non è stato reso il suo percorso al repository ufficiale di Ubuntu. Tuttavia, puoi installarlo molto facilmente dalla pagina github di Systemd-Manager . Le versioni contengono un pacchetto .deb, che è molto facile da installare. Tuttavia, è necessario GTK-3.16 o versioni successive.
Una volta scaricato e installato, puoi avviarlo con il systemd-manager
comando. Avviarlo
L'applicazione ha due viste principali. Uno è Unità Systemd e l'altro è Analizza Systemd . Puoi cambiarlo con l'etichetta nell'angolo in alto a sinistra. Guarda lo screenshot.
E ci sono tre tipi di unità che puoi gestire. Servi , prese e timer . Puoi passare da uno all'altro. Guarda lo screenshot.
Visualizzazione delle informazioni
Le tre schede principali sono File , Diario , Dipendenze .
- File è il file di configurazione dell'unità selezionata.
- Il journal è l'output del sistema live mentre si abilita / disabilita / avvia / ferma le unità
- Le dipendenze mostrano quali altri servizi o unità devono essere abilitati per avviare un servizio selezionato.
Indicatori di stato
Ci sono due colonne accanto al nome delle unità per indicare lo stato. Quello a sinistra indica se quell'unità è abilitata per l'avvio all'avvio e quella a destra indica se quell'unità è attualmente in esecuzione. Li vedi in foto.
Interruttori di controllo
Per abilitare toogle all'avvio o lo stato di esecuzione, ci sono due pulsanti toogle nell'angolo in alto a destra.
Abilitato significa che le unità si avviano e si avviano. Li vedi in foto.
La vista completa dell'applicazione è mostrata di seguito
Spero che questo possa aiutare. Sono stato beneficiato di altre risposte su systemd, ma avevo davvero bisogno di raccogliere le informazioni in un posto.
Ulteriori informazioni :
Per saperne di più su di systemd
te puoi visitare questi link:
Altre risposte hanno suggerimenti diversi. Compreso l'acquisto di SSD, l'aumento della RAM, ecc. Se te lo puoi permettere, sicuramente ti aiuteranno, in particolare il suggerimento SSD.
systemd
(dal 15.04 IIRC) vengono forniti con lo strumentosystemd-analyze
che può aiutarti ad analizzare quale processo impiega il tempo necessario per l'avvio. Perman systemd-analyze
saperne di più su tutte le sue opzioni, è probabile che su quello che probabilmente utilizzerai di piùsystemd-analyze blame
.