Lösung 1:
systemd-analyze
ist dein Freund. Zum Beispiel systemd-analyze critical-chain
gibt Blockbaum von Daemons aus. Mine zum Beispiel:
graphical.target @20.211s
└─multi-user.target @20.211s
└─nginx.service @19.348s +862ms
└─network.target @19.347s
└─NetworkManager.service @10.315s +9.031s
└─basic.target @10.312s
└─timers.target @10.311s
└─systemd-tmpfiles-clean.timer @10.311s
└─sysinit.target @10.295s
└─systemd-update-utmp.service @10.167s +127ms
└─systemd-tmpfiles-setup.service @10.124s +41ms
└─local-fs.target @10.097s
└─home-entd-Downloads.mount @10.093s +2ms
└─home.mount @9.326s +672ms
└─[email protected] @8.472s +696ms
└─dev-sda6.device @8.471s
NetworkManager im Beispiel hält im Grunde den gesamten Start.
Wenn Sie eine detailliertere Ansicht haben möchten, können Sie die gesamte Ausführungskette in einer SVG-Datei rendern.systemd-analyze plot > something.svg
gibt die gesamte Kette (120+ Module) als Fortschrittsbalken in eine hochauflösende SVG-Datei aus, die Zustände, Blockierungen und andere Probleme anzeigt.
Schließlich haben Sie systemd-analyze dot
Werkzeug, das eine Punktdatei ausgibt, die die gesamte Hierarchie ausgibt:systemd-analyze dot | dot -Tpng -o stuff.png
Mit dem Punktwerkzeug können Sie es auch als PS- und SVG-Dateien ausgeben.
Alle oben genannten Tools sind in das systemd-analyze-Tool integriert, das standardmäßig zumindest in archlinux mit systemd geliefert wird. Ich denke, es gibt auch einige Projekte von Drittanbietern, die sich damit befassen.
Lösung 2:
Ich bin mir nicht sicher, ob ich die Frage richtig verstehe, aber es gibt Baumvisualisierungen, die mit den folgenden Befehlen verfügbar sind:
sudo systemctl status
Und auch :
sudo systemctl list-dependencies
Hoffe das hilft :)
Außerdem könnte es für andere Zwecke nützlich sein, einen Baum der systemctl-Symlinks-Ordner zu erstellen:
tree /etc/systemd/system
Es war tatsächlich sehr nützlich, alte / fehlerhafte Einheiten herauszufinden, die meinen Systemstart verlangsamten, um sie anschließend mit dem systemctl disable
zu deaktivieren Befehl.
BEARBEITEN
Das heißt, ich stimme dem OP wirklich zu, dass diese grundlegende Funktionalität über Befehlszeilentools und nicht über ein grafisches Tool bereitgestellt werden sollte ... Was ist, wenn Sie X nicht starten können? Wie gehen Sie dann mit Ihrer SVG-Datei um?
Eigentlich gibt es einen Weg. Wenn Sie scp
nicht verwenden können (ssh-Tool), um Ihre Datei auf einem anderen Computer abzurufen, fbi
könnte dir tatsächlich helfen :)
sudo systemd-analyze plot > /home/user/startup.svg
fbi /home/user/startup.svg
Arbeitete in meinen TTYs. Navigieren Sie einfach mit den Pfeilen innerhalb des Bildes. Es gibt Zoom-Optionen, um sie aufzulisten, tun Sie fbi -h
.
Nochmals, ich hoffe, das hilft. Es ist in Archlinux- und Ubuntu-Repositorys verfügbar.
BEARBEITEN 2:
fbi
funktioniert nicht über ssh. Sie können eine X-Weiterleitung wie diese ssh -Y [email protected]
durchführen , aber Sie brauchen einen X-Server, der auf Ihrem entfernten Server läuft.
Am besten verwenden Sie hier sshfs
. Es funktioniert GROSSARTIG im Userspace, zum Beispiel mit Nautilus. Es gibt ein wenig Konfiguration zu tun, siehe:
sudo vim /etc/fuse.conf #type a, uncomment the user_allow_other line and ESC :wq
sudo mkdir /mnt/yourmountingdir
sudo chown user:user /mnt/yourmountingdir
sshfs [email protected]:/home/user /mnt/yourmountingdir/ -o allow_other #Asks for host trusting and password
sudo fusermount -u /mnt/yourmountingdir/ #To disconnect and unmount
Lösung 3:
Kann Ihre Frage immer noch nicht vollständig beantworten, aber versuchen Sie es mit --fuzz
Möglichkeit
systemd-analyze critical-chain --fuzz 1h
Beachten Sie, dass Sie auch Einheitens angeben können um ihre kritische Kette zu sehen , Sie sind also nicht auf multi-user.target beschränkt
systemd-analyze critical-chain network.target local-fs.target
Hoffe das hilft