Ottimizzare l’Avvio di Linux con systemd-analyze
Linux è noto per la sua efficienza e velocità, ma anche su questo sistema operativo possono verificarsi rallentamenti durante l’avvio. Fortunatamente, esistono strumenti per analizzare e migliorare le prestazioni di boot. Uno dei più utili è systemd-analyze, un comando disponibile su tutte le distribuzioni che utilizzano systemd come sistema di inizializzazione e gestione dei servizi.

Il comando systemd-analyze
permette di ottenere informazioni dettagliate sui tempi di avvio del sistema. Eseguendolo senza parametri, si ottiene un riepilogo del tempo impiegato dal kernel, dall’initrd e dallo userspace per completare il processo di boot. Ad esempio:
Startup finished in 2.643s (kernel) + 2.092s (userspace) = 4.736s
Questi dati aiutano a identificare eventuali colli di bottiglia e a capire quali componenti rallentano l’avvio del sistema.
Un’altra funzionalità utile è systemd-analyze blame
, che mostra il tempo impiegato da ciascun servizio per avviarsi. Un esempio di output potrebbe essere:
541ms dev-sda2.device
392ms systemd-tmpfiles-clean.service
357ms systemd-udev-trigger.service
190ms packagekit.service
179ms NetworkManager.service
171ms flatpak-system-helper.service
Se un servizio impiega troppo tempo, si può valutare la sua ottimizzazione o disattivazione.
Per migliorare i tempi di avvio, è possibile disabilitare o mascherare alcuni servizi con i comandi:
sudo systemctl disable nome_servizio
sudo systemctl mask nome_servizio
Il primo impedisce l’avvio automatico del servizio, mentre il secondo ne blocca completamente l’esecuzione. Il comando systemd-analyze critical-chain
permette di analizzare la sequenza di avvio e le dipendenze tra i servizi. Questo aiuta a individuare inefficienze e possibili ottimizzazioni.
Per una rappresentazione visiva dei tempi di avvio, si può usare:
systemd-analyze plot > avvio.svg
Aprendo il file SVG con un browser, si ottiene un diagramma dettagliato delle fasi di avvio e delle risorse utilizzate. Concludendo systemd-analyze è uno strumento potente per migliorare le prestazioni di avvio di Linux. Analizzando i tempi di boot, identificando i servizi lenti e ottimizzando le dipendenze, è possibile ridurre significativamente il tempo necessario per avviare il sistema.