GNU/Linux >> Linux Esercitazione >  >> Cent OS

CentOS / RHEL 7:comando systemd-analyze per trovare i ritardi di avvio

Domanda:Il mio sistema sta impiegando molto tempo per avviarsi. Come faccio a scoprire quali servizi richiedono molto tempo per essere avviati?

Risposta:

analisi di sistema Il comando può essere utilizzato per trovare informazioni su quanto ogni servizio ha impiegato per iniziare. tempo di analisi del sistema 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.


Cent OS
  1. Come riavviare il servizio di rete su CentOS 8 o RHEL 8

  2. CentOS / RHEL 7 firewalld:riferimento alla riga di comando (cheat sheet)

  3. CentOS / RHEL 7:non eseguire mai il servizio iptables e il servizio FirewallD contemporaneamente!

  4. CentOS / RHEL 7:come modificare il fuso orario

  5. CentOS / RHEL 7:impossibile avviare il servizio vsftpd

Come installare lo stucco in RHEL 8 / CentOS 8

26 Esempi di comandi DNF in Fedora / CentOS / RHEL

Come modificare il fuso orario in CentOS 8 / RHEL 8

Come installare Scala 3 su RHEL 8 / CentOS 8

CentOS / RHEL 7:processo di avvio

Come risolvere i problemi di latenza del trasferimento NFS utilizzando "nfsiostat" in CentOS / RHEL