Weboldal keresés

systemd-analyze – Rendszerindítási teljesítménystatisztika keresése Linuxban


Systemd rendszert és szolgáltatáskezelőt használ, és a Linux rendszere hosszabb ideig tart a rendszerindításhoz, vagy egyszerűen csak meg szeretné tekinteni a rendszerindítási teljesítményről szóló jelentéseket? Ha igen, akkor a megfelelő helyen landolt.

Ebben a cikkben bemutatjuk, hogyan elemezheti a Linux rendszerindítási teljesítménystatisztikáját a systemd-analyze segítségével, amely a systemd alatti számos rendszerfelügyeleti segédprogram egyike.

Olvassa el még: A Systemd Services vezérlése távoli Linux-kiszolgálón

A rendszerindítási idő áttekintése érdekében argumentumok nélkül futtathatjuk a systemd-analyze parancsot az alábbiak szerint. Információkat fog felsorolni arról, hogy mennyi időbe telt az egyes szolgáltatások elindítása, beleértve a kernel, az initrd és a userspace által a rendszerindítás során igénybe vett időt.

systemd-analyze

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

Ha meg szeretné tekinteni az összes futó egység listáját, az inicializáláshoz szükséges idő szerint rendezve (legfeljebb a legmagasabb idő), a blame alparancsot használja erre a célra. A következő parancs futtatása után használja az [Enter] billentyűt további szolgáltatások megtekintéséhez a listában, és a q billentyűt a kilépéshez.

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

Amint a fenti kimenetből látható, hogy az egyes egységek az eltelt idő alapján vannak rendezve, egyszerűen megtudhatja, hogy melyik szolgáltatás tart tovább a rendszerindítás során, és elemezheti a problémát.

Ezután megtekinthetjük az alapértelmezett cél időkritikus láncának fáját vagy a megadott egységek listáját a kritikus lánc alparancsával, ahogy az ábra mutatja.

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

Végezetül nézzünk meg még egy fontos alparancsot, amely lehetővé teszi az elindított rendszerszolgáltatások grafikus (svg formátumú) részletezését, és hogy mikor, kiemelve azok inicializálási idejét, az alábbiak szerint.

Győződjön meg arról, hogy a grafikus megjelenítési mód vagy az x-windows engedélyezve van a diagram megtekintéséhez.

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

A fenti parancsok mindegyike kinyomtatja a helyi gép rendszerindítási teljesítménystatisztikáit. Ha egy távoli gazdagéptől származó információkat szeretne megtekinteni ssh-on keresztül, használja a -H jelzőt, és adja meg a felhasználónév@host direktívát, az ábra szerint.

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

A systemd-analyze használható egyéb állapot- és nyomkövetési információk megkeresésére is a rendszerből és a systemd-ből (szolgáltatáskezelő) és egyebekből. További információkért tekintse meg a kézikönyv oldalát.

man systemd-analyze 

Olvassa el még: Futásszintek (célok) módosítása a SystemD-ben

Egyelőre ennyi! Ha bármilyen kérdése van, vagy megosztani szeretné, használja az alábbi visszajelzési űrlapot, hogy kapcsolatba lépjen velünk.