Bootchart ist eine Software für die Leistungsanalyse und Visualisierung des GNU / Linux-Bootvorgang. Ressourcennutzung und Prozessinformationen werden während des Startvorgangs gesammelt und können später in einem PNG, SVG oder EPS-kodierte Diagramm angezeigt werden.
Der Startvorgang wird modifiziert, um den Boot-Logger (/ sbin / bootchartd) anstelle von / sbin / init gestartet. Die Boot-Logger wird im Hintergrund ausgeführt und sammeln Informationen aus dem proc-Dateisystem (/ proc / [PID] / stat, / proc / stat und / proc / diskstats).
Die Statistiken werden zu einem virtuellen Speicher-Dateisystem (tmpfs) angemeldet. Sobald der Startvorgang abgeschlossen ist (durch die Existenz von spezifischen Prozesse bezeichnet) werden die Log-Dateien verpackt, um /var/log/bootchart.tgz.
Die Log-Paket kann später mit Hilfe einer Java-Anwendung, die den Prozess Baum baut und macht ein Leistungsdiagramm verarbeitet werden. Die Tabelle kann dann analysiert werden, um Prozessabhängigkeit und Gesamtressourcennutzung zu untersuchen. Ein Renderer Web-Formular ist auch auf der Projekt-Website zur Verfügung.
Das Diagramm kann dann analysiert werden, um Prozessabhängigkeit und Gesamtressourcennutzung zu untersuchen.
Im Einsatz:
1. Installieren Sie bootchartd und die bootchart Renderer. Siehe INSTALL für weitere Einzelheiten.
2. Ändern Sie Ihren Bootloader (GRUB / LILO), wenn nötig. Alternativ ändern Sie die Kernel-Kommandozeile interaktiv bei einem Neustart.
Reboot.
3. Stellen Sie sicher, dass /var/log/bootchart.tgz erstellt wurde und enthält die Protokolldateien.
4. Übertragen Sie das Diagramm, indem Sie:
$ Java -jar bootchart.jar
Alternativ (wenn keine Java Development Kit installiert ist, um die JAR-Paket zu bauen) kann der Web-Renderer verwendet werden.
Um die Web-Renderer aus einem Skript zu verwenden, führen:
curl --form format = svg --form log=@/var/log/bootchart.tgz
http://bootchart.klika.si:8080/bootchart/render> bootchart.svgz
(Wahlweise Austausch des svg / bootchart.svgz Paar mit png / bootchart.png oder eps / bootchart.eps.gz)
5. Sehen Sie sich die erzeugten Bildes und das Diagramm zu analysieren.
SVG-Bilder können unter Verwendung eines der folgenden Programme eingesehen werden:
- RSVG-view (librsvg; GNOME)
- Svgdisplay (KSVG; KDE)
- Gimp (unter Verwendung der gimp-svg-Plugin)
- Inkscape
- Squiggle (Batik; http://xml.apache.org/batik/)
Um die Hilfe für weitere Optionen zu erhalten, führen:
$ Java -jar bootchart -h
Wie es funktioniert:
Logger Startup
Die Boot-Logger (/ sbin / bootchartd) wird vom Kernel statt / sbin / init ausgeführt werden. Dies kann durch Änderung der GRUB oder LILO Kernel-Kommandozeile, zB erreicht werden:
/boot/grub/menu.lst
[...]
title Fedora Core (2.6.10) - bootchart
root (hd0,1)
Kernel /vmlinuz-2.6.10 ro root = / dev / hda1 init = / sbin / bootchartd
initrd /initrd-2.6.10.img
Das Installationsskript und RPM-Paketen werden versuchen, die Bootloader-Eintrag automatisch hinzufügen.
Die Boot-Logger wird sich im Hintergrund zu starten und sofort zu starten Sie den Standard Init-Prozess, / sbin / init. Der Bootvorgang wird dann wie gewohnt fortsetzen.
Datensammlung
Da der Root-Partition montiert schreibgeschützt während des Bootvorgangs muss der Logger, um Daten zu speichern, mit einem virtuellen Speicher-Dateisystem (tmpfs).
Sobald das / proc-Dateisystem gemountet - in der Regel in den frühen sysinit script - der Logger sammeln aus verschiedenen Dateien ausgegeben:
/ Proc / stat systemweite CPU Statistiken: Benutzer, System, IO und Leerlaufzeiten
/ Proc / diskstats systemweite Plattenstatistiken: Festplattenauslastung und Durchsatz
(Nur verfügbar in 2.6-Kernel)
/ Proc / [PID] / stat Informationen über die laufenden Prozesse: Startzeit, Mutter PID, Prozesszustand, CPU-Auslastung, usw.
Der Inhalt dieser Dateien werden in regelmäßigen Abständen entsprechende Protokolldateien standardmäßig angehängt, alle 0,2 Sekunden.
Der Logger wird versuchen, das Ende des Boot-Prozesses, indem Sie für bestimmte Prozesse zu erkennen. Wenn zum Beispiel in Runlevel 5 (Mehrbenutzer-Grafik-Modus), wird es für gdmgreeter, kdm_greet usw. Sobald einer dieser Prozesse läuft gefunden aussehen, wird der Logger stoppen Sammeln von Daten, Paket die Protokolldateien und speichert sie um /var/log/bootchart.tgz.
Optional Prozess Accounting
Meistens / stat Dateien genügt die Ausgabe von / proc / [PID], um den Prozess-Baum neu. Es ist jedoch möglich, dass eine kurzlebige Prozess wird nicht durch die Logger abgeholt. Was bedeutet, dass sie möglicherweise nicht korrekt von der Chart-Renderer gruppiert bekommen - wenn das Verfahren auch neue Prozesse Gabeln, wird der Logger Abhängigkeitsinformationen für diese "verwaisten" Prozesse fehlen.
Wenn wirklich genaue Abhängigkeitsinformation erforderlich ist, kann Prozess-Accounting eingesetzt werden. Wenn eingerichtet, wird der Kernel eine Protokolldatei mit detaillierten Informationen über Prozesse zu halten. BSD Prozess-Accounting v3 beinhaltet Informationen über den Prozess "PID und Mutter PID (PPID) - effektiv ermöglicht eine genaue Rekonstruktion der Prozessbaum.
Um Prozess-Accounting zu aktivieren, muss der Kernel konfiguriert werden, dass CONFIG_BSD_PROCESS_ACCT_V3 unter umfassen:
[] Allgemeine Einstellungen
[] BSD-Prozess Accounting
[] BSD-Prozess Accounting Version 3-Dateiformat
Die GNU Accounting-Werkzeuge (Paket psacct oder acct) müssen ebenfalls installiert werden. Die Boot-Logger den Befehl Accton verwenden, um Prozess-Accounting zu ermöglichen; es wird die Kontoführungsprotokoll im Tarball enthalten.
Visualisierung
Die Log-Tarball wird später in die Java-Anwendung zum Parsen und Rendern der Daten übergeben. Die CPU und Festplatte Statistiken werden verwendet, um gestapelte Flächen- und Liniendiagrammen zu machen. Die Prozessinformationen werden verwendet, um ein Gantt-Diagramm Prozessabhängigkeit, Staaten und CPU-Nutzung zu schaffen.
Eine typische Boot-Sequenz besteht aus mehreren hundert Prozessen. Da es schwierig ist, eine solche Menge von Daten in verständlicher Form zu visualisieren, wird Baum- genutzt. Idle Hintergrundprozesse und kurzlebige Prozesse werden entfernt. Ähnliche Prozesse parallel ausgeführt werden, auch zusammengeführt.
Schließlich sind die Leistung und Abhängigkeitsdiagramme Renderer als Einzelbild in entweder PNG, SVG oder EPS-Format.
Softwarebeschreibung:
Version: 0.9
Upload-Datum: 3 Jun 15
Lizenz: Frei
Popularität: 508
Kommentare nicht gefunden