Bootchart er en software til resultatanalyse og visualisering af GNU / Linux boot-processen. Ressourceudnyttelse og behandle oplysninger indsamles under opstartsprocessen og kan senere blive vist i et PNG, SVG eller EPS-kodet diagram.
Boot processen er modificeret til at starte boot logger (/ sbin / bootchartd) i stedet for / sbin / init. Støvlen logger vil køre i baggrunden og indsamle oplysninger fra proc filsystemet (/ proc / [PID] / stat, / proc / stat og / proc / diskstats).
Statistikken er logget til en virtuel hukommelse filsystem (tmpfs). Når opstartsprocessen fuldført (angivet ved eksistensen af specifikke processer), er logfilerne pakket til at /var/log/bootchart.tgz.
Loggen pakke kan senere blive behandlet ved hjælp af et Java-program, der bygger processen træet og gør en performance diagram. Skemaet kan derefter analyseres for at undersøge processen afhængighed og overordnede ressourceudnyttelse. En renderer webformular er også tilgængelig på projektets hjemmeside.
Diagrammet kan derefter analyseres for at undersøge processen afhængighed og samlede ressourceudnyttelse.
Runing:
1. Installer bootchartd og Bootchart renderer. Se INSTALL for detaljer.
2. Ændr din boot loader (GRUB / LILO) om nødvendigt. Alternativt ændre kernel kommandolinjen interaktivt ved genstart.
Genstart.
3. Kontroller, at /var/log/bootchart.tgz blev skabt og indeholder logfilerne.
4. Render diagrammet ved at køre:
$ Java -jar bootchart.jar
Alternativt (hvis der ikke Java Development Kit er installeret til at bygge JAR pakke), web renderer kan anvendes.
At bruge internettet renderer fra et script, køre:
krølle --form format = svg --form log=@/var/log/bootchart.tgz
http://bootchart.klika.si:8080/bootchart/render> bootchart.svgz
(Eventuelt udskiftning af SVG / bootchart.svgz par med png / bootchart.png eller eps / bootchart.eps.gz)
5. Se den genererede billede og analysere diagrammet.
SVG-billeder kan ses ved hjælp af et af følgende programmer:
- RSVG-view (librsvg; GNOME)
- Svgdisplay (KSVG; KDE)
- Gimp (ved hjælp af gimp-svg plugin)
- Inkscape
- Squiggle (Batik; http://xml.apache.org/batik/)
For at få hjælp til yderligere muligheder, køre:
$ Java -jar Bootchart -h
Hvordan det virker:
Logger Startup
Støvlen logger (/ sbin / bootchartd) drives af kernen i stedet for / sbin / init. Dette kan opnås ved at ændre GRUB eller LILO kernel kommandolinjen, fx:
/boot/grub/menu.lst
[...]
title Fedora Core (2.6.10) - Bootchart
root (hd0,1)
kerne /vmlinuz-2.6.10 ro root = / dev / hda1 init = / sbin / bootchartd
initrd /initrd-2.6.10.img
Installationen script og RPM-pakke vil forsøge at tilføje boot loader post automatisk.
Støvlen logger starter sig i baggrunden og straks køre standard init proces, / sbin / init. Opstartsprocessen vil derefter fortsætte som sædvanligt.
Dataindsamling
Da rodpartitionen er monteret skrivebeskyttet under boot, loggeren skal gemme data i hukommelsen, ved hjælp af en virtuel hukommelse filsystem (tmpfs).
Så snart / proc filsystemet er monteret - som regel tidligt i sysinit script - loggeren vil begynde at indsamle output fra forskellige filer:
/ Proc / stat i hele systemet CPU statistik: bruger, systemet, IO og tomgang gange
/ Proc / diskstats hele systemet disk statistik: disk udnyttelse og gennemløb
(Kun tilgængelig i 2.6 kerner)
/ Proc / [PID] / stat oplysninger om de kørende processer: starttidspunkt, forælder PID, proces tilstand, CPU-forbrug, etc.
Indholdet af disse filer er periodisk vedlagt tilsvarende logfiler, hver 0,2 sekunder som standard.
Loggeren vil forsøge at afsløre slutningen af boot processen ved at lede efter specifikke processer. For eksempel, når i køreniveau 5 (multi-user grafisk tilstand), vil det se for gdmgreeter, kdm_greet osv Så snart en af disse processer findes kører, vil loggeren op med at indsamle data, pakke logfilerne og gemme dem at /var/log/bootchart.tgz.
Valgfri Process Regnskab
I de fleste tilfælde, output fra / proc / [PID] / STAT filer tilstrækkeligt at genskabe processen træet. Det er muligt, dog, at en kortvarig proces ikke bliver samlet op af loggeren. Hvis denne proces også gafler nye processer, vil loggeren mangle afhængigheden oplysninger for disse "forældreløse" processer - hvilket betyder, at de kan få forkert grupperet efter diagrammet renderer.
Når der kræves virkelig nøjagtige afhængighed oplysninger, kan processen regnskab udnyttes. Hvis konfigureret, vil kernen holde en logfil med detaljerede oplysninger om processer. BSD proces regnskabsmæssige v3 indeholder oplysninger om processen "PID og forælder PID (PPID) - effektivt muliggør en nøjagtig rekonstruktion af processen træet.
For at aktivere proces regnskab, brug kernen til at være konfigureret til at omfatte CONFIG_BSD_PROCESS_ACCT_V3, under:
[] Generel opsætning
[] BSD Process Regnskab
[] BSD Process Regnskab version 3 filformat
De GNU regnskabsmæssige forsyningsselskaber (pakke psacct eller ACCT) også nødt til at blive installeret. Støvlen logger vil bruge Accton kommandoen for at aktivere processen regnskab; det vil omfatte den regnskabsmæssige log i tarball.
Visualisering
Loggen tarball'en senere videre til Java-programmet for parsing og gøre dataene. CPU og disk statistik bruges til at gengive Stacked område- og linjediagrammer. Oplysningerne proces bruges til at skabe et Gantt-diagram, der viser afhængighed proces, stater og CPU-forbrug.
En typisk boot sekvens består af flere hundrede processer. Da det er vanskeligt at visualisere en sådan mængde data på en forståelig måde, er beskæring af træer udnyttet. Tomgang baggrundsprocesser og kortvarige processer fjernes. Tilsvarende processer, der kører parallelt også flettes sammen.
Endelig ydeevne og afhængighed diagrammer er renderer som et enkelt billede i enten PNG, SVG eller EPS-format.
Software detaljer:
Kommentarer ikke fundet