Příkaz systemd-analyze se používá k načtení statistik výkonu pro operace spouštění. Příkaz přebírá jeden nebo více dílčích příkazů, které určují, jaký typ informací se má vytisknout a jak. Pro řízení procesů a odstraňování problémů je nejrelevantnějším dílčím příkazem obviňování. Tím se vytiskne seznam všech systémových jednotek, které byly spuštěny při bootování, spolu s dobou, kterou každé jednotce trvalo spuštění. Můžete použít systemd-analyze obvinění k identifikaci služeb a dalších jednotek, které zpomalují spouštění systému.
Syntaxe
Syntaxe příkazu systemd-analyze je:
# systemd-analyze [options] [subcommand]
Příkaz systemd-analyze lze použít ke zjištění informací o tom, kolik každé službě trvalo spuštění. systemd-analyze time může poskytnout celkovou informaci o tom, jak dlouho trvalo spuštění systému. Zde je příkaz, který jasně ukazuje čas, který zabralo jádro, initrd a uživatelský prostor při bootování.
# systemd-analyze time Startup finished in 1.267s (kernel) + 6.798s (initrd) + 1min 2.139s (userspace) = 1min 10.205s
Chcete-li zjistit, kolik času každé jednotce trvalo spuštění, spusťte systemd-analyze obvinění.
# 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 Jak vidíte, výstup je seřazen podle času, který jednotlivé jednotky zabraly, můžete snadno zjistit, která služba zabírá více času během spouštění, a můžete se ponořit hlouběji a analyzovat problém.
V určitých krocích nemůže zavádění pokračovat, dokud nejsou splněny všechny závislosti jednotky. Chcete-li vidět jednotky v těchto kritických bodech, spusťte systemd-analyze kritický řetězec.
# 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 Grafický obrázek SVG lze vykreslit, který obsahuje podrobnosti o čase spuštění systémových služeb, zdůrazňující čas, který strávili inicializací. Ujistěte se, že máte povolený grafický režim zobrazení nebo máte povoleno x-windows, abyste viděli graf.
# systemd-analyze plot > plot.svg # eog plot.svg
Zde je úryvek z ukázkového grafu na mém počítači CentOS 7. Přibližte, abyste si vodopád jasně prohlédli.

Příklady příkazů systemd-analyze
1. Uveďte čas spuštění každé jednotky:
# systemd-analyze blame
2. Vytiskněte strom časově kritického řetězce jednotek:
# systemd-analyze critical-chain
3. Vytvořte soubor SVG zobrazující, kdy se jednotlivé systémové služby spustily, a zvýrazněte čas, který strávila inicializace:
# systemd-analyze plot > path/to/file.svg
4. Nakreslete graf závislosti a převeďte jej do souboru SVG:
# systemd-analyze dot | dot -Tsvg > path/to/file.svg
5. Zobrazit skóre zabezpečení běžících jednotek:
# systemd-analyze security