Preview-Image: Debian Bootvorgang mit systemd analysieren
Debian Bootvorgang mit systemd analysieren

Was passiert wann beim Bootvorgang

Zeit bis zum abgeschlossenen Systemstart

systemd-analyze
=
systemd-analyze time

Beispiel-Output:

Startup finished in 4.125s (kernel) + 26.205s (userspace) = 30.331s 
graphical.target reached after 26.050s in userspace

 

Eine Liste aller laufenden Units von systemd ausgeben

systemd-analyze blame

Beispiel-Output:

24.338s vboxdrv.service
15.709s chkboot.service
3.644s connman-wait-online.service
3.437s sendmail.service
2.696s Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.
1.632s snapd.seeded.service
970ms snapd.service
906ms mariadb.service
676ms ufw.service
583ms snap-core18-1066.mount
581ms NetworkManager-wait-online.service
576ms snap-thunderbird-37.mount
562ms snap-snap\x2dstore-171.mount
549ms dev-sda2.device
538ms udisks2.service
497ms snap-gnome\x2d3\x2d28\x2d1804-67.mount
496ms snap-libreoffice-134.mount
474ms apache2.service
467ms snap-gtk\x2dcommon\x2dthemes-1313.mount
463ms snap-firefox-237.mount
463ms snap-scrcpy-136.mount
434ms dev-loop4.device
379ms phpsessionclean.service
372ms dev-loop3.device
368ms upower.service
347ms ModemManager.service
321ms iwatch.service
306ms systemd-journald.service
303ms accounts-daemon.service
295ms dev-loop5.device
...
...
...

lines 120/120 (END)

 

Liste der beim Booten gestartete Prozesse

systemd-analyze blame | head

Beispiel-Output:

24.338s vboxdrv.service
15.709s chkboot.service
3.644s connman-wait-online.service
3.437s sendmail.service
2.696s Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.
1.632s snapd.seeded.service
970ms snapd.service
906ms mariadb.service
676ms ufw.service
583ms snap-core18-1066.mount

 

Kritische Verkettung

„Zeitkritische“ Liste der laufenden Units = Was bremst den Lade-Prozess wie stark.

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 @26.050s
└─multi-user.target @26.049s
└─vboxweb-service.service @26.043s +6ms
└─basic.target @1.696s
└─sockets.target @1.696s
└─cockpit.socket @1.679s +16ms
└─sysinit.target @1.678s
└─systemd-update-utmp.service @1.669s +8ms
└─auditd.service @1.621s +47ms
└─systemd-tmpfiles-setup.service @1.598s +21ms
└─local-fs.target @1.595s
└─snap-snap\x2dstore-171.mount @1.022s +562ms
└─dev-loop11.device @1.582s +11ms

 

Grafische Ausgabe des Bootchart

systemd-analyze plot > /home/<USERNAME>/<FOLDER>/systemd.svg

Image: Bootchart mit sytemd

 

Beispiel: Abhängigkeiten per dot für snap*

systemd-analyze dot 'snap*' | dot -Tsvg > /home/<USERNAME>/<FOLDER>/systemd-snap-dot.svg

 

Um die Snap-Ladezeiten möglichst gering zu halten sollten die Revisionen stetig aufgeräumt werden: Separater Post: Snap-Pakete unter Debian verwalten. Gegebenenfalls sollte man überdenken welche Snap-Paket man, unmittelbar nach dem Bootvorgang, wirklich benötigt werden.
Man könnte ja auch auf Flatpak's oder AppImage's zurückgreifen ;-)


Sources:

 

Wir benutzen Cookies

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.