GNU/Linux >> Linux Esercitazione >  >> Linux

systemd-analyze Esempi di comandi in Linux

Il comando systemd-analyze viene utilizzato per recuperare le statistiche sulle prestazioni per le operazioni di avvio. Il comando accetta uno o più sottocomandi che determinano il tipo di informazioni da stampare e come. Per la gestione dei processi e la risoluzione dei problemi, la colpa è il sottocomando più rilevante. Questo stamperà un elenco di tutte le unità di sistema che sono state eseguite all'avvio, insieme al tempo impiegato da ciascuna unità per l'esecuzione. Puoi utilizzare colpa systemd-analyze per identificare i servizi e altre unità che rallentano l'avvio del sistema.

Sintassi

La sintassi del comando systemd-analyze è:

# systemd-analyze [options] [subcommand]

Il comando systemd-analyze può essere utilizzato per trovare informazioni su quanto ogni servizio ha impiegato per avviarsi. systemd-analyze time può fornire informazioni generali sul tempo impiegato dal sistema per avviarsi. Ecco un comando che mostra chiaramente il tempo impiegato da kernel, initrd e userspace durante l'avvio.

# systemd-analyze time
Startup finished in 1.267s (kernel) + 6.798s (initrd) + 1min 2.139s (userspace) = 1min 10.205s

Per scoprire quanto tempo ha impiegato ciascuna unità per avviarsi, esegui systemd-analyze incolpa.

# systemd-analyze blame
         24.728s dev-mapper-centosx2droot.device
         15.135s kdump.service
         14.670s plymouth-quit-wait.service
         14.210s firewalld.service
          9.835s accounts-daemon.service
          7.383s ModemManager.service
          7.259s libvirtd.service
          7.257s systemd-logind.service
          7.177s ksm.service
          7.081s gssproxy.service
          7.067s avahi-daemon.service
          7.062s rsyslog.service
          7.039s abrt-ccpp.service

Come puoi vedere, l'output è ordinato in base al tempo impiegato da ciascuna unità, puoi facilmente scoprire quale servizio sta impiegando più tempo durante l'avvio e puoi approfondire per analizzare il problema.

In determinati passaggi, l'avvio non può procedere finché tutte le dipendenze per l'unità non sono soddisfatte. Per vedere le unità in questi punti critici, esegui systemd-analyze critical-chain.

# systemd-analyze critical-chain
The time after the unit is active or started is printed after the "@" character.
The time the unit takes to start is printed after the "+" character.

graphical.target @1min 2.102s
└─multi-user.target @1min 2.102s
  └─abrt-vmcore.service @1min 1.228s +872ms
    └─kdump.service @46.090s +15.135s
      └─remote-fs.target @46.086s
        └─remote-fs-pre.target @46.083s
          └─iscsi-shutdown.service @45.951s +99ms
            └─network.target @45.944s
              └─network.service @44.959s +975ms
                └─NetworkManager.service @38.653s +689ms
                  └─firewalld.service @24.439s +14.210s
                    └─basic.target @23.850s
                      └─sockets.target @23.849s
                        └─cups.socket @23.847s
                          └─sysinit.target @23.618s
                            └─systemd-update-utmp.service @23.603s +13ms
                              └─auditd.service @22.959s +643ms
                                └─systemd-tmpfiles-setup.service @22.726s +230ms
                                  └─rhel-import-state.service @22.431s +294ms
                                    └─local-fs.target @22.428s
                                      └─boot.mount @19.675s +2.126s
                                        └─dev-disk-byx2duuid-7de2053cx2d44d7x2d4f33x2db522x2d81dee2f6b69b.device @19.652s

È possibile tracciare un'immagine grafica SVG che contiene dettagli sull'ora di inizio dei servizi di sistema, evidenziando il tempo speso per l'inizializzazione. Assicurati di aver abilitato la modalità di visualizzazione grafica o di aver abilitato x-windows per vedere il grafico.

# systemd-analyze plot > plot.svg
# eog plot.svg

Ecco uno snip dal grafico di esempio sulla mia macchina CentOS 7. Ingrandisci per controllare chiaramente la cascata.

Esempi di comando systemd-analyze

1. Elenca il tempo di avvio di ciascuna unità:

# systemd-analyze blame

2. Stampa un albero della catena di unità tempo-critica:

# systemd-analyze critical-chain

3. Crea un file SVG che mostri l'avvio di ciascun servizio di sistema, evidenziando il tempo speso per l'inizializzazione:

# systemd-analyze plot > path/to/file.svg

4. Traccia un grafico delle dipendenze e convertilo in un file SVG:

# systemd-analyze dot | dot -Tsvg > path/to/file.svg

5. Mostra i punteggi di sicurezza delle unità in esecuzione:

# systemd-analyze security


Linux
  1. Esempi di comandi rm in Linux

  2. ps Esempi di comandi in Linux

  3. service Esempi di comandi in Linux

  4. Esempi di comandi chkconfig in Linux

  5. sa Esempi di comandi in Linux

10 esempi di comandi iftop in Linux

16 Esempi di comandi Echo in Linux

9 Esempi di comandi tee in Linux

9 esempi di comandi diff in Linux

Comando IP Linux con esempi

Esempi di comandi id in Linux