Bootchart ay isang software para sa pagtatasa ng pagganap at visualization ng proseso ng boot GNU / Linux. Resource paggamit at proseso ng impormasyon ay tinipon sa panahon ng proseso ng boot at maaaring mamaya ay ipinapakita sa isang PNG, SVG o EPS-encode chart.
Ang boot proseso ay binago upang simulan ang boot magtotroso (/ sbin / bootchartd) sa halip ng / sbin / init. Ang boot magtotroso ay tatakbo sa background at mangolekta ng impormasyon mula sa proc file system (/ proc / [PID] / stat, / proc / stat at / proc / diskstats).
Ang mga istatistika ay naka-log sa isang sistema ng virtual memory file (tmpfs). Kapag nakumpleto ang proseso ng boot (naitala sa pamamagitan ng pagkakaroon ng mga tiyak na proseso), ang mag-log file ay nakabalot sa /var/log/bootchart.tgz.
Maaaring mamaya ma-proseso ang mga log na pakete gamit ang isang application na Java na gagawa ang proseso ng puno at nagpapakita ng isang chart ng pagganap. Maaring maging aralan Ang tsart upang suriin ang proseso ng dependency at pangkalahatang mapagkukunan paggamit. A renderer web form ay makukuha sa web site ng proyekto din.
Maaaring pagkatapos ay nasuri Ang tsart upang suriin ang proseso ng dependency at pangkalahatang mapagkukunan paggamit.
Runing:
1. I-install bootchartd at ang bootchart renderer. Tingnan INSTALL para sa mga detalye.
2. Baguhin ang iyong boot loader (uod / LILO) kung kinakailangan. Bilang kahalili, baguhin ang command line kernel interactive upon reboot.
Reboot.
3. I-verify na /var/log/bootchart.tgz ay nilikha at naglalaman ng mga log file.
4. Render ang tsart sa pamamagitan ng pagpapatakbo ng:
$ Java jar bootchart.jar
Bilang kahalili (kung walang Java Development Kit ay naka-install na magtayo ng mga jar pakete), ang web renderer ang maaaring gamitin.
Upang gamitin ang mga web renderer mula sa isang script, tumakbo:
curl --form format = svg --form log=@/var/log/bootchart.tgz
http://bootchart.klika.si:8080/bootchart/render> bootchart.svgz
(Optionally pagpapalit ng svg / bootchart.svgz pares na may png / bootchart.png o eps / bootchart.eps.gz)
5. Tingnan ang nakabuo ng imahe at pag-aralan ang tsart.
Images SVG maaaring makita gamit ang alinman sa sumusunod na mga programa:
- Rsvg-view (librsvg; Gnome)
- Svgdisplay (ksvg; KDE)
- Malambot (gamit ang malambot-svg plugin)
- Inkscape
- Squiggle (Batik; http://xml.apache.org/batik/)
Upang makakuha ng tulong para sa mga karagdagang opsyon, tumakbo:
$ Java jar bootchart h
Paano ito gumagana:
Logger Startup
Ang boot magtotroso (/ sbin / bootchartd) ay tatakbo sa pamamagitan ng kernel sa halip na / sbin / init. Ito ay maaaring nakakamit sa pamamagitan ng pagbabago ng mga uod o LILO kernel command line, hal:
/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
Ang pag-install na script at RPM pakete ay subukan upang magdagdag ng awtomatikong ang loader entry boot.
Ang boot magtotroso ay magsisimula mismo sa background at agad na tumakbo ang mga default na proseso init, / sbin / init. Ang boot proseso ay pagkatapos ay magpatuloy tulad ng dati.
Data Collection
Dahil ang root partition ay naka-mount na read-only sa panahon ng boot, kailangan ng magtotroso sa tindahan ng data sa memory, gamit ang isang virtual system memory file (tmpfs).
Sa lalong madaling ang / proc file system ay naka-mount - kadalasan maaga sa sysinit script - ang magtotroso ay magsisimula sa pagkolekta ng output mula sa iba't ibang mga file:
User, system, IO at idle ulit: / proc / statistics CPU system-wide stat
/ Proc / system-wide statistics disk diskstats: disk paggamit at throughput
(Magagamit lamang sa 2.6 kernels)
/ Proc / [PID] / stat impormasyon tungkol sa mga tumatakbo na proseso: sisimulan, magulang PID, proseso ng estado, ang paggamit ng CPU, etc.
Ang mga nilalaman ng mga file na ito ay pana-panahon na nakadugtong sa nararapat na mga file ng log, ang bawat 0.2 segundo sa pamamagitan ng default.
Magtotroso ay subukan upang tuklasin ang katapusan ng proseso ng boot sa pamamagitan ng pagtingin para sa mga tiyak na proseso. Halimbawa, kapag in runlevel 5 (graphical mode multi-user), ito ay ang hitsura para sa gdmgreeter, kdm_greet, etc. sandali na ang isa sa mga proseso ay natagpuan na tumatakbo, ang magtotroso ay titigil sa pagkolekta ng data, package ang log file at mag-imbak ang mga ito upang /var/log/bootchart.tgz.
Opsyonal Proseso Accounting
Sa karamihan ng kaso, ang output mula sa / proc / [PID] / stat file suffices upang muling likhain ang proseso tree. Ito ay posible gayunpaman, na ang isang buhay-alamang proseso ay hindi makakakuha ng kinuha sa pamamagitan ng magtotroso. Kung ang proseso na tinidor din bagong proseso, ang magtotroso ay kakulangan dependency ng impormasyon para sa mga "naulila" na proseso - ibig sabihin na sila ay maaaring makakuha ng hindi tama nakapangkat sa pamamagitan ng renderer chart.
Kapag tunay tumpak na impormasyon dependency ay kailangan, accounting proseso ay maaaring magamit. Kung na-configure, ang kernel ay panatilihin ng isang log file na may detalyadong impormasyon tungkol sa mga proseso. BSD accounting proseso v3 ay kabilang ang impormasyon tungkol sa proseso ng 'PID at magulang PID (PPID) - epektibong ma-enable ang isang tumpak na pagbabagong-tatag ng mga proseso ng tree.
Upang paganahin ang proseso ng accounting, kailangang isinaayos upang isama CONFIG_BSD_PROCESS_ACCT_V3, sa ilalim ng kernel:
[] General setup
[] Paraan ng BSD Accounting
[] Version Proseso BSD Accounting 3 file format
Ang mga kagamitan GNU accounting (package psacct o acct) Kailangan din na naka-install. Ang boot magtotroso ay gamitin ang command accton upang paganahin ang proseso ng accounting; ito ay isama ang log ng accounting sa tarball.
Paggunita
Ang log tarball mamaya lumipas na ang Java application para sa pag-parse at rendering ng data. Ang CPU at disk istatistika ay ginagamit upang mabigyan ng stacked area at line chart. Ang proseso ng impormasyon ay ginagamit upang lumikha ng isang Gantt tsart na nagpapakita ng proseso dependency, estado at CPU paggamit.
Ang isang tipikal na boot sequence ay binubuo ng ilang daang mga proseso. Dahil ito ay mahirap upang mailarawan ang naturang halaga ng data sa isang maaaring maunawaan na paraan, puno pruning ay ginagamit. Idle mga proseso sa background at hindi nagtagal proseso ay tinanggal. Katulad na mga proseso na tumatakbo sa parallel ay ipinagsama din magkasama.
Sa wakas, ang mga chart ng pagganap at dependency mga renderer bilang isang solong imahe sa alinman PNG, SVG o EPS format.
Mga detalye ng Software:
Bersyon: 0.9
I-upload ang petsa: 3 Jun 15
Lisensya: Libre
Katanyagan: 508
Mga Komento hindi natagpuan