systemd-analyze - Fannt System Boot-up Performance Statistiken am Linux


Benotzt Dir Systemd System a Service Manager, an Äre Linux System brauch méi Zäit fir ze booten oder Dir wëllt einfach d'Rapporte vun Ärem System Boot-up Leeschtung gesinn? Wann jo, sidd Dir op der richteger Plaz gelant.

An dësem Artikel wäerte mir Iech weisen wéi Dir e Linux System Boot-up Performance Statistik analyséiert mat Systemd-Analyze, ee vu ville Utilities ënner systemd fir Systemmanagement.

Fir en Iwwerbléck iwwer d'Systemstartzäit ze kréien, kënne mir systemd-analyze Kommando lafen ouni Argumenter wéi follegt. Et gëtt Informatioun iwwer wéi vill Zäit all Service gedauert huet fir unzefänken, wat d'Zäit vum Kernel, initrd a Userspace beim Booten enthält.

# systemd-analyze

Startup finished in 884ms (kernel) + 3.861s (initrd) + 48.356s (userspace) = 53.102s

Wann Dir wëllt eng Lëscht vun all Lafen Unitéiten ze gesinn, zortéiert vun der Zäit si fir d'Initialiséierung (héchste Zäit op erop) zortéiert, gëtt de Schold Ënnerbefehl fir dësen Zweck benotzt. Nodeems Dir de Kommando gefollegt hutt, benotzt [Enter] fir méi Servicer an der Lëscht ze gesinn an q fir opzehalen.

# systemd-analyze blame 
         16.159s mariadb.service
         12.178s libvirtd.service
         10.298s tuned.service
          9.836s postfix.service
          8.704s lsws.service
          7.352s lscpd.service
          4.988s [email 
          4.779s NetworkManager-wait-online.service
          4.577s lvm2-monitor.service
          4.439s ModemManager.service
          4.413s polkit.service
          4.280s dev-sda1.device
          4.225s systemd-udev-settle.service
          3.957s firewalld.service
          3.227s rhel-dmesg.service
          3.221s abrt-ccpp.service
          3.142s rsyslog.service
          3.053s avahi-daemon.service
          3.042s pure-ftpd.service
          2.249s gssproxy.service
          2.212s NetworkManager.service
          1.889s proc-fs-nfsd.mount
          1.780s systemd-tmpfiles-setup-dev.service
          1.451s sshd.service
          1.267s rhel-readonly.service
          1.035s sysstat.service
          1.001s rpc-statd-notify.service
           910ms systemd-logind.service
           739ms kdump.service
           738ms network.service
...

Wéi Dir aus der uewe genannter Ausgab kënnt gesinn datt all Eenheet op Basis vun der Zäit geholl ass sortéiert, kënnt Dir einfach erausfannen wéi ee Service méi laang dauert beim Booten an d'Thema analyséieren.

Als nächst kënne mir och e Bam vun der Zäitkritescher Kette fir d'Standardziel oder eng Lëscht vu spezifizéierte Eenheeten mat der kritescher Kette Ënnerkommando kucken wéi gewisen.

# 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.

multi-user.target @48.342s
└─mariadb.service @31.560s +16.159s
  └─network.target @31.558s
    └─network.service @30.819s +738ms
      └─NetworkManager-wait-online.service @26.035s +4.779s
        └─NetworkManager.service @23.821s +2.212s
          └─network-pre.target @23.821s
            └─firewalld.service @19.863s +3.957s
              └─polkit.service @15.381s +4.413s
                └─basic.target @12.271s
                  └─sockets.target @12.271s
                    └─virtlockd.socket @12.270s
                      └─sysinit.target @12.251s
                        └─systemd-update-utmp.service @12.196s +54ms
                          └─auditd.service @11.705s +486ms
                            └─systemd-tmpfiles-setup.service @11.609s +93ms
                              └─rhel-import-state.service @11.397s +211ms
                                └─local-fs.target @11.363s
                                  └─run-user-0.mount @46.910s
                                    └─local-fs-pre.target @10.575s
                                      └─lvm2-monitor.service @5.996s +4.577s
                                        └─lvm2-lvmetad.service @7.376s
                                          └─lvm2-lvmetad.socket @5.987s
                                            └─-.slice
# systemd-analyze critical-chain ntp.service networking.service

Schlussendlech kucke mer e méi wichtegt Ënnerkommando dat et erméiglecht grafesch (svg-Format) Detailer vu Systemservicer ze produzéieren déi gestart goufen, a wéi eng Zäit, hir Initialiséierungszäit ervirhiewt, wéi follegt.

Vergewëssert Iech datt de grafesche Displaymodus oder x-Windows aktivéiert ass fir de Komplott ze gesinn.

# systemd-analyze plot > boot_analysis.svg
# xviewer boot_analysis.svg  

All déi uewe genannte Kommandoen drécken d'Boot-up Performance Statistike fir déi lokal Maschinn. Fir Informatioun vun engem Fernhost iwwer ssh ze gesinn, benotzt de -H Fändel a spezifizéiert d'[Email geschützt] Direktiv, wéi gewisen.

# systemd-analyze time -H [email 
# systemd-analyze blame -H [email 
# systemd-analyze critical-chain -H [email 

systemd-analyse kann och benotzt ginn fir aner Staats- an Tracinginformatioune vum System a Systemd (Servicemanager) a méi ze fannen. Fir méi Informatioun, kuckt seng Man Säit.

# man systemd-analyze 

Dat ass et fir elo! Wann Dir Froen hutt oder Gedanken ze deelen, benotzt de Feedbackformular hei ënnen fir eis z'erreechen.