Come analizzare le prestazioni di avvio del sistema Linux con Systemd

Uno degli obiettivi più ideali quando gestiamo i sistemi operativi Linux è che l'avvio di questi sia il più veloce possibile in modo che tutti i servizi e i processi vengano caricati in modo ottimale e quindi possiamo iniziare a lavorare presto sulle molteplici attività che dobbiamo eseguire.

Quando utilizziamo una distribuzione con systemd, abbiamo un'opzione per analizzare chiaramente come funziona l'avvio grazie al comando systemd-analyze e quindi oggi Solvetic farà un'analisi completa su come utilizzare questa alternativa e quindi rileverà qualsiasi tipo di anomalia o errore durante il processo di avvio.

Che cos'è systemd-analyzeQuesto comando è responsabile dell'analisi e del debug del gestore di sistema su più distribuzioni Linux.

1. Come usare systemd-analyze su Linux

Passo 1
Il suo utilizzo è semplice, ad esempio, se vogliamo ottenere informazioni generali sull'ora di avvio del sistema operativo, dobbiamo eseguire il seguente comando:

 systemd-analyze
Dobbiamo eseguirlo senza alcun argomento, in questo modo elencherà le informazioni sul tempo totale necessario per avviare ogni servizio, incluso il tempo utilizzato da kernel, initrd e spazio utente durante l'avvio:

Passo 2
Se vogliamo ottenere un elenco di tutte le unità in esecuzione, ordinate per il tempo necessario per l'inizializzazione, in ordine decrescente, il sottocomando di colpa è utile per accedere a queste informazioni, eseguiremo quanto segue;

 systemd-analizzare la colpa

Passaggio 3
Possiamo vedere in queste informazioni che ogni unità è ordinata in base al tempo impiegato, questo è pratico per le attività di gestione poiché è stato semplice scoprire quale servizio richiede più tempo per avviarsi e analizzare il problema in modo specifico su di esso.

Se l'obiettivo è vedere un albero associato alla catena temporale critica per un obiettivo fisso o un elenco di unità specifiche, dobbiamo utilizzare il parametro della catena critica come segue:

 systemd-analyze catena-critica

Passaggio 4
Nel caso in cui desideriamo ottenere informazioni su un servizio specifico, dobbiamo eseguire la seguente sintassi:

 systemd-analyze "nome" della catena critica .service
Per vedere le informazioni di un host remoto tramite il protocollo ssh, dobbiamo usare il flag -H e indicare la direttiva user @ host in questo modo.
 systemd-analyze colpa -H [email protected] systemd-analyze critica-chain -H [email protected]

2. Systemd-analyze sintassi generale


Per lavorare con systemd-analyze in modo completo, possiamo usare il seguente comando per vedere le sue opzioni:
 uomo systemd-analyze
Le opzioni disponibili saranno:

Questa opzione stampa il tempo generato nel kernel prima che sia stato raggiunto lo spazio utente, il tempo trascorso sul disco RAM iniziale (initrd) prima che sia stato raggiunto il normale spazio utente di sistema e il tempo impiegato dal nome utente di sistema dello spazio per inizializzare per ottenere l'accesso.

 systemd-analyze [OPZIONI…] [tempo]

Questa opzione stampa un elenco di tutte le unità in esecuzione, ordinate per il tempo necessario per l'inizializzazione, con queste informazioni sarà possibile ottimizzare i tempi di avvio.
 systemd-analyze [OPZIONI…] colpa

Usando questa opzione, viene stampato un albero della catena di unità critiche nel tempo. L'ora dopo l'attivazione o l'avvio dell'unità verrà stampata dopo il carattere "@". Il tempo necessario all'avvio dell'unità verrà stampato dopo il carattere "+".
 systemd-analyze [OPZIONI…] catena critica [UNITÀ…]

Con questo parametro viene stampato un grafico SVG che indica nel dettaglio quali servizi di sistema sono stati avviati e a che ora, evidenziando il tempo impiegato per l'inizializzazione.
 systemd-analyze [OPZIONI…] plot [> file.svg]

Con questo valore, viene generata una descrizione del grafico delle dipendenze testuale in formato punto per un'ulteriore elaborazione con lo strumento punto GraphViz.
 systemd-analyze [OPZIONI…] punto [SCHEMA…] [> file.dot]

Con questo valore viene generata una serializzazione leggibile dall'utente dello stato completo del server.
 systemd-analyze [OPZIONI…] dump

Utilizzando questo parametro viene visualizzato un elenco di tutte le directory da cui si trovano i file sull'unità.
 systemd-analyze [OPTIONS…] unit-paths [

Con log-vel, viene stampato il livello di log corrente del demone systemd.
 systemd-analyze [OPZIONI…] livello di log [LIVELLO]

Con il valore log-target, viene stampata la destinazione del log corrente del demone systemd.
 systemd-analyze [OPZIONI…] log-target [TARGET]

Con questo valore, verranno elencate tutte le chiamate di sistema archiviate nell'insieme di chiamate di sistema SET specificato o tutti gli insiemi noti se non viene specificato alcun insieme. L'argomento SET deve includere il prefisso "@".
 systemd-analyze [OPZIONI…] syscall-filter [SET…]

Questa impostazione caricherà i file dall'unità e stamperà avvisi se vengono rilevati errori sull'unità.
 systemd-analyze [OPZIONI…] verifica [FILE…]

Quindi, abbiamo visto come implementare e utilizzare systemd-analyze nelle distribuzioni Linux e in questo modo avere un controllo molto più diretto sul suo avvio.

wave wave wave wave wave