[[Vorlage(Getestet, bionic, jammy)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:sudo:einen Befehl mit Root-Rechten ausführen] }}} [[Inhaltsverzeichnis()]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] '''systemd-analyze''' ist, wie der Name schon vermuten lässt, ein Kommandozeilenwerkzeug von [:systemd:], mit dem sich das System, im speziellen der Bootvorgang, analysieren lässt. Mit den so gewonnenen Erkenntnissen lassen sich dann z.B. gegebenenfalls Optimierungen vornehmen. = Installation = Da systemd ab Ubuntu 15.04 integraler Bestandteil des Systems ist (und dieses ohne systemd nicht lauffähig ist), sind alle benötigten Komponenten bereits installiert. = Benutzung = systemd-analyze wird im Terminal aufgerufen[1], die allgemeine Syntax lautet: {{{#!vorlage Befehl systemd-analyze [OPTION] [KOMMANDO] }}} Der Befehl braucht in den meisten Fällen keine Root-Rechte. Nur wenn das Kommando `verify` aufgerufen wird, werden Root-Rechte benötigt[2].\\ Angaben für die OPTION sind auf der [https://manpages.ubuntu.com/manpages/jammy/en/man1/systemd-analyze.1.html Manpage] zu finden. Einige mögliche Kommandos sind: {{{#!vorlage Tabelle <-2 rowclass="titel">Kommandos von systemd-analyze +++ Kommando Erklärung +++ `time` Zeigt an, wie lange das System benötigt hat, bis der Userspace vollständig geladen und initialisiert war (=bis das System "benutzt" werden konnte). Die Ausgabe ist unterteilt in `firmware`, `loader` (=Laden von initrd), `kernel` und `userspace` +++ `blame` Gibt eine Liste aller laufenden Units von systemd aus, sortiert nach der Zeit, die diese für die Initialisierung benötigt haben. +++ `critical-chain` Zeigt eine "zeitkritische" Liste der laufenden Units an. Zeitkritisch heißt, dass die in der Liste weiter oben stehende Unit aufgrund von Abhängigkeiten erst gestartet werden konnte, wenn die tiefere Unit fertig initialisiert war. +++ `plot` Plottet den Systemstart als Diagramm im [wikipedia:Scalable_Vector_Graphics:SVG-Format]. Auf der X-Achse des Plots ist die Zeit aufgetragen, auf der Y-Achse die Units. Die Ausgabe sollte direkt in eine Datei [:Shell/Umleitungen/#Umleiten-der-Ausgabe-mit:umgeleitet] werden, also z.B. `systemd-analyze plot > graph.svg`. +++ `dot` Generiert einen Abhängigkeitsgraphen der Units im dot-Format von [:Graphviz:]. +++ `dump` Gibt Zustand jeder geladenen Units im Detail aus. Da die Liste sehr lang ist - in der Regel mehrere zehntausend Zeilen - sollte die Ausgabe entweder in eine Datei umgeleitet oder direkt mit [:grep:] o.ä. gefiltert werden. +++ `verify UNITDATEI` Überprüft die Korrektheit aller aktiven Units. Wenn zusätzlich eine Unit-Datei `UNITDATEI` angegeben wird, wird nur diese und die zum Starten dieser Unit benötigten Units geprüft. Hierfür werden Root-Rechte benötigt. }}} Ausführlichere Erklärungen inklusive einiger Beispiele sind in der [http://www.freedesktop.org/software/systemd/man/systemd-analyze.html Dokumentation] {en} von systemd-analyze zu finden. Dort werden auch die möglichen Optionen erklärt. = Links = * [:systemd:] - Hauptartikel #tag: System, systemd, Booten