SYSTEMD-BOOTCHART(1) systemd-bootchart SYSTEMD-BOOTCHART(1)

systemd-bootchart - Werkzeug zur graphischen Darstellung der Systemstartleistung

systemd-bootchart ist ein Werkzeug, das normalerweise beim Systemstart läuft und die CPU-Last, Plattenlast, den Speicherverbrauch sowie prozessbezogene Informationen des laufenden Systems sammelt. Die gesammelten Ergebnisse werden als SVG-Graphik ausgegeben. Normalerweise wird systemd-bootchart vom Kernel durch Übergabe von init=/usr/lib/systemd/systemd-bootchart auf der Kernelbefehlszeile aufgerufen und fügt initcall_debug hinzu, um Daten von den Kernel-Initialisierungs-Threads zu sammeln. systemd-bootchart wird dann das echte Init starten, um mit dem normalen Systemstart fortzufahren und gleichzeitig im Hintergrund Startinformationen zu überwachen und zu protokollieren.

Nachdem eine bestimmte Menge an Daten gesammelt wurde (normalerweise 15-30 Sekunden, standardmäßig 20 s), stoppt die Protokollierung und es wird eine Graphik aus den protokollierten Informationen erstellt. Diese Graphik enthält entscheidende Hinweise dazu, welche Ressourcen in welcher Reihenfolge verwandt werden und wo mögliche Probleme in der Hochfahrsequenz des Systems existieren. Im wesentlichen ist es eine detailliertere Version der Funktion systemd-analyze(1) plot.

Natürlich kann Bootchart auch zu jedem anderen Zeitpunkt verwandt werden, um bestimmte Daten für eine bestimmte Zeit zu sammeln und darzustellen. In diesem Fall wird empfohlen, den Schalter --rel zu verwenden.

Bootchart benötigt keine Root-Privilegien und kann problemlos als normaler Benutzer ausgeführt werden.

Die Graphiken von Bootchart werden normalerweise mit Zeitstempeln in /run/log geschrieben und im Journal mit MESSAGE_ID=9f26aa562cf440c2b16c773d0479b518 gespeichert. Das Journal-Feld BOOTCHART= enthält das Bootchart im SVG-Format.

systemd-bootchart kann auf verschiedene Arten aufgerufen werden:

Kernelaufruf

Der Kernel kann systemd-bootchart anstelle des Init-Prozesses aufrufen. systemd-bootchart wird wiederum /usr/lib/systemd/systemd aufrufen. Es werden Daten über Kernel-Init-Threads und auch Prozesse, einschließlich der von systemd(1) gestarteten Dienste, gesammelt.

Systemd Unit

Es wird eine Unit-Datei systemd-bootchart.service bereitgestellt. Falls Sie beim Systemstart aktiviert ist, wird sie Daten über Prozesse, einschließlich der von systemd(1) gestarteten Dienste, sammeln.

Gestartet als freistehendes Programm

Sie können systemd-bootchart als normale Anwendung von der Befehlszeile starten. Für diesen Modus wird nachdrücklich die Verwendung des Schalters -r empfohlen, damit nicht die Zeit seit dem Systemstart und bevor systemd-bootchart gestartet wurde dargestellt wird, da dies zu sehr großen Graphiken führen könnte. Die Zeit, die seit dem Systemstart abgelaufen ist, kann auch Zeiten enthalten, in denen das System suspendiert war.

Diese Optionen können auch in der Datei /etc/systemd/bootchart.conf gesetzt werden. Siehe bootchart.conf(5).

-h, --help

Zeigt einen kurzen Hilfetext an und beendet das Programm.

-n, --sample N

Gibt die Anzahl N an aufzuzeichnenden Proben an. Proben werden in mit --freq definierten Intervallen aufgezeichnet.

-f, --freq f

Gibt die Probenprotokollierfrequenz als positive Gleitkommazahl f in Hz an. Die meisten System können mit Werten bis 25-50 umgehen, ohne zu viel Extraaufwand zu erzeugen.

-r, --rel

Verwendet relative anstatt absolute Zeiten. Dies ist nützlich, um Bootchart nach dem Systemstart zu verwenden, um auf einem bereits gestarteten System zu profilieren. Ohne diese Option könnte die Graphik extrem groß werden. Falls gesetzt, beginnt die horizontale Achse bei der ersten aufgezeichneten Probe, anstatt bei 0.0.

-F, --no-filter

Deaktiviert das Filtern von Tasks, die nicht wesentlich zum Systemstart beitrugen. Sehr kurzlebige Prozesse (die nur in einer Probe auftauchen) oder die keine wesentliche CPU-Zeit verbrauchen (weniger als 0,001 s) werden in der Ausgabegraphik nicht angezeigt.

-C, --cmdline

Zeigt anstelle des reinen Proezessnamens die vollständige Befehlszeile mit Argumenten von Prozessen.

-g, --control-group

Zeigt die Control-Gruppe des Prozesses.

-o, --output Pfad

Legt das Ausgabeverzeichnis für die Graphiken fest. Standardmäßig schreibt Bootchart die Graphiken nach /run/log.

-i, --init Pfad

Verwendet dieses Init-Programm. Standardmäßig /usr/lib/systemd/systemd.

-p, --pss

Aktiviert Protokollierung und graphische Darstellung des PSS-Speicherverbrauchs (Proportional Set Size). Siehe filesystems/proc.txt in der Kerneldokumentation für eine Erklärung dieses Feldes.

-e, --entropy

Aktiviert Protokollierung und graphische Darstellung der Größe des Kernel-Zufalls-Entropie-Pools.

-x, --scale-x N

Horizontaler Skalierungsfaktor für alle variablen Graphikkomponenten.

-y, --scale-y N

Vertikaler Skalierungsfaktor für alle variablen Graphikkomponenten.

systemd-bootchart erstellt SVG-Graphiken. Um diese auf einer graphischen Anzeige darzustellen, kann jedes SVG-fähiges Betrachtungsprogramm verwandt werden. Es sollte angemerkt werden, dass die SVG-Darstellungsroutinen in den meisten Browsern (einschließlich Chrome und Firefox) um ein Vielfaches schneller als dedizierte graphische Anwendungen wie gimp(1) und inkscape(1) sind. Öffnen Sie einfach mit Ihrem Browser file:///run/log/!

Diese Version von Bootchart wurde von Grund auf neu implementiert, aber sie wurde von anderen Bootchart-Versionen inspiriert:

Ursprüngliches Bash

Der ursprüngliche bash(1)-/Shell-Code, der Bootchart implementierte. Diese Version erstellte einen komprimierten Tarball für die Verarbeitung mit externen Anwendungen. Diese Version erstellte keine Graphiken, sie erstellte nur Daten.

Ubuntu-C-Implementierung

Diese Version ersetzte die Shell-Version mit einem schnellen und effizienten Datenprotokollierer, aber erstellte auch keine Graphiken der Daten.

Java Bootchart

Dies war die ursprüngliche Graphik-Anwendung zum Darstellen der Daten, geschrieben in Java.

pybootchartgui.py

Pybootchart erstellte eine Graphik aus den von entweder der Bash- oder der C-Version gesammelten Daten.

Die Version von Bootchart, die Sie jetzt verwenden, kombiniert die Datensammlung mit der graphischen Darstellung in eine Anwendung, wodurch es effizienter und einfacher wird. Es gibt keine Probleme mehr bei der Zeitmessung beim Datensammeln und Darstellen, da die Darstellung erst erfolgen kann, wenn die Daten gesammelt wurden. Auch werden nur so wenig Daten wie möglich im Speicher gehalten.

bootchart.conf(5)

systemd-bootchart erhält nur die Modellinformationen für die Festplatte, wenn das Wurzelgerät mit »root=/dev/sdxY« angegeben ist. Unter Verwendung von UUIDs oder PARTUUIDs wird der Systemstart problemlos verlaufen, aber das Festplattenmodell wird nicht zu der Graphik hinzugefügt.

Für Fehler kontaktieren Sie den Autor und aktuellen Betreuer:

Auke Kok <auke-jan.h.kok@intel.com>

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.

systemd 235