systemd-analyze - Trobeu estadístiques de rendiment d'arrencada del sistema a Linux
Esteu utilitzant el gestor de serveis i sistemes systemd, i el vostre sistema Linux triga més temps a arrencar o simplement voleu veure els informes del rendiment d'arrencada del vostre sistema? En cas afirmatiu, heu arribat al lloc correcte.
En aquest article, us mostrarem com analitzar les estadístiques de rendiment d'arrencada d'un sistema Linux mitjançant systemd-analyze, una de les nombroses utilitats de systemd per a la gestió del sistema.
Per obtenir una visió general del temps d'arrencada del sistema, podem executar l'ordre systemd-analyze sense cap argument de la manera següent. Enumerarà informació sobre el temps que va trigar cada servei a iniciar-se, que inclou el temps que triga el nucli, initrd i l'espai d'usuari durant l'arrencada.
# systemd-analyze Startup finished in 884ms (kernel) + 3.861s (initrd) + 48.356s (userspace) = 53.102s
Si voleu veure una llista de totes les unitats en execució, ordenades pel temps que van trigar a inicialitzar-se (temps més alt a la part superior), s'utilitza la subordre blame per a aquest propòsit. Després d'executar l'ordre que segueix, utilitzeu [Enter] per veure més serveis a la llista i q
per sortir.
# 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 ...
Com podeu veure a la sortida anterior que cada unitat s'ordena en funció del temps que triga, simplement podeu esbrinar quin servei triga més temps durant l'arrencada i analitzar el problema.
A continuació, també podem veure un arbre de la cadena de temps crític per a l'objectiu predeterminat o una llista d'unitats especificades amb la subordre de cadena crítica tal com es mostra.
# 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
Finalment, mirem una subordre més important que permet produir detalls gràfics (format svg) dels serveis del sistema que s'han iniciat, i en quin moment, destacant el seu temps d'inicialització, de la manera següent.
Assegureu-vos que el mode de visualització gràfica o X-windows estigui habilitat per veure la trama.
# systemd-analyze plot > boot_analysis.svg # xviewer boot_analysis.svg
Totes les ordres anteriors imprimiran les estadístiques de rendiment d'arrencada de la màquina local. Per veure informació d'un host remot mitjançant ssh, utilitzeu la marca -H
i especifiqueu la directiva [protegit per correu electrònic], tal com es mostra.
# systemd-analyze time -H [email # systemd-analyze blame -H [email # systemd-analyze critical-chain -H [email
systemd-analyze també es pot utilitzar per trobar altra informació d'estat i de traça del sistema i systemd (gestor de serveis) i molt més. Per obtenir més informació, consulteu la seva pàgina de manual.
# man systemd-analyze
Això és tot de moment! Si teniu cap pregunta o pensa a compartir, utilitzeu el formulari de comentaris a continuació per posar-vos en contacte amb nosaltres.