Einsatz und Auswertung des Analysewerkzeugs systemd-analyze: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 11: Zeile 11:
 
Insbesondere zeigt es die Zeiteinheiten, die im "aktivierenden" Zustand verbracht wurden, was nicht für Einheiten wie Geräteeinheiten definiert ist, die direkt von "inaktiv" zu "aktiv" übergehen.
 
Insbesondere zeigt es die Zeiteinheiten, die im "aktivierenden" Zustand verbracht wurden, was nicht für Einheiten wie Geräteeinheiten definiert ist, die direkt von "inaktiv" zu "aktiv" übergehen.
 
Dieser Befehl vermittelt daher einen Eindruck von der Leistung des Programmcodes, kann jedoch die durch das Warten auf Hardware und ähnliche Ereignisse eingeführte Latenz nicht genau widerspiegeln.
 
Dieser Befehl vermittelt daher einen Eindruck von der Leistung des Programmcodes, kann jedoch die durch das Warten auf Hardware und ähnliche Ereignisse eingeführte Latenz nicht genau widerspiegeln.
 
 
 
*systemd-analyze blame
 
*systemd-analyze blame
 +
=systemd-analyze critical-chain [UNIT...]=
 +
Dieser Befehl zeigt einen Baum der zeitkritischen Einheitenkette (für jede der angegebenen UNITs oder andernfalls für das Standardziel). Die Zeit, nachdem das Gerät aktiv oder gestartet wurde, wird nach dem „@“-Zeichen gedruckt. Die Zeit, die das Gerät zum Starten benötigt, wird nach dem „+“-Zeichen gedruckt. Beachten Sie, dass die Ausgabe irreführend sein kann, da die Initialisierung von Diensten von der Socket-Aktivierung und der parallelen Ausführung von Units abhängen kann. Außerdem berücksichtigt dies, ähnlich wie der Schuldzuweisungsbefehl, nur die Zeiteinheiten, die im "Aktivierungs"-Zustand verbracht wurden, und deckt daher keine Einheiten ab, die nie einen "Aktivierungs"-Zustand durchlaufen haben (z. B. Geräteeinheiten, die direkt von "inaktiv" wechseln). auf „aktiv“). Außerdem werden keine Informationen zu Jobs angezeigt (insbesondere nicht zu Jobs, die abgelaufen sind).
 +
*systemd-analyze critical-chain
  
 
=Links=
 
=Links=
 
*https://www.freedesktop.org/software/systemd/man/systemd-analyze.html
 
*https://www.freedesktop.org/software/systemd/man/systemd-analyze.html

Version vom 3. Januar 2023, 16:49 Uhr

Beschreibung

systemd-analyze kann verwendet werden, um Leistungsstatistiken beim Systemstart zu ermitteln und andere Zustands- und Ablaufverfolgungsinformationen vom System- und Dienstmanager abzurufen und die Korrektheit von Unit-Dateien zu überprüfen. Es wird auch verwendet, um auf spezielle Funktionen zuzugreifen, die für das erweiterte Systemmanager-Debugging nützlich sind.

  • Wenn kein Befehl übergeben wird, wird systemd-analyze time impliziert.=

systemd-analyze time

Dieser Befehl gibt die Zeit aus, die im Kernel verbracht wurde, bevor der Userspace erreicht wurde, die Zeit, die in der initrd verbracht wurde, bevor der normale System-Userspace erreicht wurde, und die Zeit, die der normale System-Userspace zum Initialisieren benötigte. Beachten Sie, dass diese Messungen einfach die Zeit messen, die bis zu dem Punkt verstrichen ist, an dem alle Systemdienste gestartet wurden, aber nicht unbedingt bis sie die Initialisierung vollständig abgeschlossen haben oder die Festplatte im Leerlauf ist.

systemd-analyze blame

Dieser Befehl zeigt eine Liste aller laufenden Einheiten, sortiert nach der Zeit, die sie zum Initialisieren benötigt haben. Diese Informationen können verwendet werden, um die Startzeiten zu optimieren. Beachten Sie, dass die Ausgabe irreführend sein kann, da die Initialisierung eines Dienstes langsam sein kann, nur weil auf den Abschluss der Initialisierung eines anderen Dienstes gewartet wird. Beachten Sie auch: systemd-analyze-Schuld zeigt keine Ergebnisse für Dienste mit Type=simple an, da systemd solche Dienste als sofort gestartet betrachtet, daher kann keine Messung der Initialisierungsverzögerungen durchgeführt werden. Beachten Sie auch, dass dieser Befehl nur die Zeiteinheiten anzeigt, die für den Start benötigt wurden, er zeigt nicht an, wie lange Einheitsjobs in der Ausführungswarteschlange verbracht haben. Insbesondere zeigt es die Zeiteinheiten, die im "aktivierenden" Zustand verbracht wurden, was nicht für Einheiten wie Geräteeinheiten definiert ist, die direkt von "inaktiv" zu "aktiv" übergehen. Dieser Befehl vermittelt daher einen Eindruck von der Leistung des Programmcodes, kann jedoch die durch das Warten auf Hardware und ähnliche Ereignisse eingeführte Latenz nicht genau widerspiegeln.

  • systemd-analyze blame

systemd-analyze critical-chain [UNIT...]

Dieser Befehl zeigt einen Baum der zeitkritischen Einheitenkette (für jede der angegebenen UNITs oder andernfalls für das Standardziel). Die Zeit, nachdem das Gerät aktiv oder gestartet wurde, wird nach dem „@“-Zeichen gedruckt. Die Zeit, die das Gerät zum Starten benötigt, wird nach dem „+“-Zeichen gedruckt. Beachten Sie, dass die Ausgabe irreführend sein kann, da die Initialisierung von Diensten von der Socket-Aktivierung und der parallelen Ausführung von Units abhängen kann. Außerdem berücksichtigt dies, ähnlich wie der Schuldzuweisungsbefehl, nur die Zeiteinheiten, die im "Aktivierungs"-Zustand verbracht wurden, und deckt daher keine Einheiten ab, die nie einen "Aktivierungs"-Zustand durchlaufen haben (z. B. Geräteeinheiten, die direkt von "inaktiv" wechseln). auf „aktiv“). Außerdem werden keine Informationen zu Jobs angezeigt (insbesondere nicht zu Jobs, die abgelaufen sind).

  • systemd-analyze critical-chain

Links