systemd-analysis - Leidke Linuxi süsteemi käivitamise jõudluse statistika


Kas kasutate systemd süsteemi ja teenusehaldurit ning teie Linuxi süsteemi käivitamine võtab kauem aega või soovite lihtsalt vaadata süsteemi käivitamise jõudluse aruandeid? Kui jah, olete maandunud õigesse kohta.

Selles artiklis me näitame teile, kuidas analüüsida Linuxi süsteemi käivitamise jõudluse statistikat, kasutades systemd-analysi, mis on üks süsteemihalduse paljudest utiliitidest.

Süsteemi käivitamisajast ülevaate saamiseks saame käivitada käsu systemd-analysis ilma argumentideta järgmiselt. Selles on loetletud teave selle kohta, kui palju aega iga teenuse käivitamine võttis, sealhulgas kerneli, initrdi ja kasutajaruumi käivitamise aeg.

# systemd-analyze

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

Kui soovite vaadata kõigi töötavate üksuste loendit, mis on järjestatud nende initsialiseerimise aja järgi (suurim aeg peal), kasutatakse selleks süüdistatavat alamkäsu. Pärast järgneva käsu käivitamist kasutage loendis muude teenuste kuvamiseks klahvi [Enter] ja lõpetamiseks nuppu q .

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

Nagu ülaltoodud väljundist näete, et iga seade on sorditud kulutatud aja põhjal, saate lihtsalt teada saada, milline teenus võtab käivitamisel kauem aega ja probleemi analüüsida.

Järgmisena võime vaadata ka vaikesihtmärgi ajakriitilise ahela puud või kriitilise ahela alamkäsuga määratud üksuste loendit, nagu näidatud.

# 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

Lõpuks vaatame veel ühte olulist alamkäsu, mis võimaldab koostada alustatud süsteemiteenuste üksikasjalikke üksikasju graafiliselt (svg-vormingus) ja millal, tuues esile nende lähtestamise aja järgmiselt.

Graafiku kuvamiseks veenduge, et graafiline kuvamisrežiim või x-windows oleksid lubatud.

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

Kõik ülaltoodud käsud prindivad kohaliku masina käivitamise jõudluse statistika. Kaughosti teabe vaatamiseks ssh-i kaudu kasutage lippu -H ja määrake direktiiv [email , nagu näidatud.

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

systemd-analysi saab kasutada ka muu oleku- ja jälgimisteabe leidmiseks süsteemist ja systemd (teenushaldur) ja muust. Lisateavet leiate selle man-lehelt.

# man systemd-analyze 

Praegu on see kõik! Kui teil on küsimusi või soovite jagada, kasutage meiega ühendust saamiseks allolevat tagasisidevormi.