Bootchart performans analizi ve GNU / Linux önyükleme işlemi görüntülenmesi için bir yazılımdır. Kaynak kullanımı ve süreç bilgi önyükleme işlemi sırasında toplanan ve daha sonra bir PNG, SVG ya da EPS kodlanmış grafikte gösterilebilir.
önyükleme işlemi Önyükleme logger (/ sbin / bootchartd) yerine / sbin / init başlatmak için modifiye edilir. Önyükleme logger (/ proc / [PID] / stat / proc / stat ve / proc / diskstats) arka planda çalışan ve proc dosya sistemi bilgi toplayacaktır.
istatistikler sanal bellek dosya sistemi (tmpfs) kaydedilir. Önyükleme işlemi (belirli süreçlerin varlığı ile gösterilen) tamamlandığında, günlük dosyaları /var/log/bootchart.tgz için paketlenir.
Günlük paket daha sonra süreç ağacı oluşturur ve bir performans grafiği işleyen bir Java uygulaması kullanılarak işlenebilir. Grafik sonra süreç bağımlılık ve genel kaynak kullanımını incelemek için analiz edilebilir. Bir renderer web formu da proje web sitesinde mevcuttur.
Grafik sonra süreç bağımlılık ve genel kaynak kullanımını incelemek için analiz edilebilir.
Runing:
1. bootchartd ve bootchart renderer takın. Ayrıntılı bilgi için INSTALL bakın.
2. önyükleyici (GRUB / LILO) Gerekirse değiştirin. Alternatif olarak, yeniden doğmuş gibi üzerine etkileşimli çekirdek komut satırı değiştirin.
Reboot.
3. Bu /var/log/bootchart.tgz oluşturuldu doğrulayın ve günlük dosyalarını içerir.
4. koşu ile grafik Render:
$ Java jar bootchart.jar
(Hayır Java Development Kit JAR paketi oluşturmak için yüklüyse) Alternatif olarak, web oluşturucu kullanılabilir.
Bir komut web oluşturucuyu kullanmak için çalıştırın:
--form formatta kıvırmak = svg --form log=@/var/log/bootchart.tgz
http://bootchart.klika.si:8080/bootchart/render> bootchart.svgz
(Isteğe bağlı png / bootchart.png veya eps / bootchart.eps.gz ile svg / bootchart.svgz çifti yerine)
5. oluşturulan görüntüyü ve grafik analiz.
SVG görüntüleri aşağıdaki programlardan birini kullanarak görülebilir:
- Rsvg-view (librsvg; GNOME)
- Svgdisplay (ksvg; KDE)
- Gimp (Gimp-svg eklentisi kullanarak)
- Inkscape
- Squiggle (Batik; http://xml.apache.org/batik/)
Diğer seçenekler için yardım almak için, çalıştırın:
$ Java jar bootchart -h
Nasıl çalışır:
Logger Başlangıç
Önyükleme logger (/ sbin / bootchartd) yerine / sbin / init çekirdek tarafından çalıştırılır. Bu GRUB veya LILO çekirdek komut satırı, örneğin değiştirerek elde edilebilir:
/boot/grub/menu.lst
[...]
Başlıktaki Fedora Core (2.6.10) - bootchart
Kök (hd0,1)
Çekirdeğin /vmlinuz-2.6.10 ro root = / dev / hda1 init = / sbin / bootchartd
initrd /initrd-2.6.10.img
kurulum komut dosyası ve RPM paket otomatik olarak önyükleyici girişi eklemek için çalışacağız.
Önyükleme logger arka planda kendini başlayacak ve hemen / sbin / init, varsayılan init süreci çalışacaktır. önyükleme işlemi daha sonra her zamanki gibi devam edecektir.
Veri Koleksiyonu
Kök bölümü salt okunur önyükleme sırasında monte olduğundan, logger bir sanal bellek dosya sistemi (tmpfs) kullanılarak, bellekte veri depolamak gerekiyor.
En kısa sürede / proc dosya sistemi monte gibi - genellikle erken sysinit komut - logger çeşitli dosyaları çıktı toplamaya başlayacak:
/ Proc / Stat sistem genelinde CPU istatistikleri: kullanım, sistem, IO ve boşta zamanlar
/ Proc / diskstats sistem çapında bir disk istatistikleri: disk kullanımı ve verimlilik
(Sadece 2.6 çekirdeklerinde mevcut)
/ Proc / [PID] çalışan süreçleri hakkında / Stat bilgiler: başlangıç zamanını, ebeveyn PID, süreci devlet, CPU kullanımı, vb
Bu dosyaların içerikleri periyodik varsayılan olarak gelen günlük dosyalarına her 0.2 saniyede bir eklenir.
logger Belirli süreçler bakarak önyükleme işleminin sonunu algılamak için çalışacağız. Çalışma seviyesi 5 (çok kullanıcılı grafik modu), bu kısa sürede bu süreçlerin bir çalışan bulunursa vs. gdmgreeter, kdm_greet, arayacaktır Örneğin, logger, paketi günlük dosyalarını veri toplamayı durdurmak ve bunları depolayacak /var/log/bootchart.tgz için.
Opsiyonel Süreç Muhasebesi
Çoğu durumda, / proc / [PID] çıkış / Stat dosyaları işlem ağacını yeniden yeterlidir. Bu kısa ömürlü bir süreç logger tarafından yakalandı olmaz, ancak mümkündür. Onlar yanlış grafik renderer göre gruplandırılmış alabilirsiniz anlamı - bu süreç, aynı zamanda yeni süreçler çatallar ise logger, bu "sahipsiz" süreçler için bağımlılık bilgi eksikliği olur.
Gerçekten doğru bağımlılık bilgisi gerektiğinde, süreç muhasebesi kullanılabilir. Yapılandırılırsa, çekirdek süreçleri hakkında ayrıntılı bilgiler içeren bir günlük dosyası devam edecektir. Etkili bir süreç ağacın doğru yeniden etkinleştirme - BSD süreç muhasebesi v3 süreci 'PID ve ebeveyn PID (PPID) hakkında bilgi içerir.
Süreç muhasebesi etkinleştirmek için, çekirdek altında CONFIG_BSD_PROCESS_ACCT_V3 dahil etmek yapılandırılması gerekir:
[] Genel ayarlar
[] BSD Süreç Muhasebesi
[] BSD Süreç Muhasebesi sürüm 3 dosya biçimi
GNU muhasebe programları (paket psacct veya acct) de yüklü olması gerekmektedir. Önyükleme logger işlemi muhasebe etkinleştirmek için Accton komutunu kullanacağız; Bu tarball'daki muhasebe günlüğünü içerecektir.
Görüntüleme
Günlük arşivini sonra verileri ayrıştırma ve rendering için Java uygulaması geçirilir. CPU ve disk istatistiklerini yığılmış alan ve çizgi grafikleri işlemek için kullanılır. süreç bilgi işlem bağımlılığı, devletler ve CPU kullanımını gösteren bir Gantt grafiği oluşturmak için kullanılır.
Tipik bir önyükleme sırası birkaç yüz süreçlerden oluşur. Bu anlaşılır bir şekilde veri miktarını bu tür görselleştirmek için zor olduğundan, ağaç budama kullanılmaktadır. Boşta arka plan işlemleri ve kısa ömürlü işlemler kaldırılır. Paralel çalışan benzer süreçler de birlikte birleştirilir.
Son olarak, performans ve bağımlılık çizelgeleri tek bir görüntü olarak oluşturucu vardır ya PNG, SVG ya da EPS formatında.
Yazılım detaylar:
Yorum Bulunamadı