Old:Bootchart
Attenzione. Questa guida è obsoleta. Viene mantenuta sul Wiki solo per motivi di natura storica e didattica. |
ATTENZIONE Questa applicazione non è più supportata. Per Wheezy e superiori, indirizzarsi verso Bootchart2 che presenta numerosi vantaggi rispetto a "Bootchart" ed è attualmente sviluppato. |
Introduzione
Bootchart è uno strumento per l'analisi delle prestazioni e la visualizzazione al processo di avvio di GNU/Linux.
L'utilizzo delle risorse e le informazioni di processo sono raccolte durante il processo di avvio e sono successivamente rese in un grafico PNG, SVG o EPS.
Bootchart è usato per processare il file di log creato da bootchartd
(/var/log/bootchart.tgz
di default) per poi costruire l'albero dei processi e renderizzare le performances come grafico in diversi formati.
Il grafico può essere poi analizzato per esaminare le dipendenze dei processi e in generale l'utilizzo delle risorse.
Installazione
L'installazione potrebbe comportare l'installazione di altri pacchetti come dipendenza anche se solitamente basta:
# aptitude install bootchart
Utilizzo
Per poter generare un'immagine con le informazioni raccolte, occorre a priori generare un file di log ( bootchart.tgz ), a seconda di dove viene eseguito il comando:
/sbin/bootchartd
questi genererà un file di log come indicato in /etc/bootchartd.conf (oppure /altra/dir/bootchartd.conf) nella riga:
BOOTLOG_DEST=
# bootchart -h usage: bootchart [OPTION]... [FILE]... -f,--format <format> image format (png | eps | svg; default: png) -h,--help print this message -n,--no-prune do not prune the process tree -o,--output-dir <dir> output directory where images are stored (default: .) -v,--version print version and exit
Profilo di sistema al boot (GRUB)
Occorre per prima cosa aggiungere questo comando init=/sbin/bootchartd nel vostro file /boot/grub/menu.lst come da esempio:
title Debian GNU/Linux, kernel 2.6.26-2-686 root (hd1,0) kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/sdb1 ro init=/sbin/bootchartd initrd /boot/initrd.img-2.6.26-2-686
Attenzione perché ad ogni aggiornamento di Grub o del kernel l'opzione aggiunta verrà eliminata, perciò dovrete reinserirla se volete dei log aggiornati.
Ora occorre riavviare il sistema per poter creare il file di log necessario.
Al riavvio da shell spostiamoci dove vogliamo creare l'immagine, esempio:
$ cd /home/barabba/
ed eseguiamo il comando:
$ bootchart -f png
avremo se tutto va bene:
Parsing /var/log/bootchart.tgz Wrote image: ./bootchart.png
possiamo ora andare nella cartella e con il nostro visualizzatore di immagini preferito visualizzare il nostro boot.
Profilo di sistema al boot (GRUB2)
Come per GRUB anche in GRUB2 occorre aggiungere il comando init=/sbin/bootchartd, ma il file da modificare è /boot/grub/grub.cfg come da esempio:
menuentry 'Debian GNU/Linux, con Linux 3.0.0-1-amd64' --class debian --class gnu-linux --class gnu --class os { insmod gzio insmod part_msdos insmod ext2 set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set=root 9456ebd7-bf9d-41bb-8960-0e52b6bb8716 echo 'Caricamento Linux 3.0.0-1-amd64...' linux /boot/vmlinuz-3.0.0-1-amd64 root=UUID=9456ebd7-bf9d-41bb-8960-0e52b6bb8716 ro quiet init=/sbin/bootchartd echo 'Caricamento ramdisk iniziale...' initrd /boot/initrd.img-3.0.0-1-amd64 }
Le operazioni per ottenere l'immagine del boot sono le stesse indicate precedentemente.
Anche in questo caso la modifica è temporanea, basta un update-grub per cancellare la modifica eseguita.
Per rendere la modifica permanente per ora ho risolto modificando il file /etc/default/grub :
GRUB_DEFAULT=0 GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet init=/sbin/bootchartd" GRUB_CMDLINE_LINUX=""
Profilo di sistema avviato
Creare una cartella:
$ mkdir ~/tmp
Copiare il file di configurazione nella cartella creata:
$ cp /etc/bootchartd.conf ~/tmp
Editare il file di configurazione e cambiare BOOTLOG_DEST
verso la nostra cartella:
BOOTLOG_DEST=~/tmp/bootchart.tgz
Spostarsi nella directory:
$ cd tmp/
Creare un profilo del sistema per esempio per 10 secondi:
$ /sbin/bootchartd start; sleep 10; /sbin/bootchartd stop
Creare l'immagine:
$ bootchart bootchart.tgz -f png
Controllare ora in tmp
della nostra home directory l'immagine boochart.png
:
Profilo applicazione
Creare una cartella:
$ mkdir ~/tmp
Copiare il file di configurazione nella cartella creata:
$ cp /etc/bootchartd.conf ~/tmp
Editare il file di configurazione e cambiare BOOTLOG_DEST
verso la nostra cartella:
BOOTLOG_DEST=~/tmp/bootchart.tgz
Spostarsi nella directory:
$ cd tmp/
Creiamo il profilo di un'applicazione per esempio libreoffice
:
$ /sbin/bootchartd start libreoffice
Dopo aver terminato l'applicazione eseguire bootchart
:
$ bootchart bootchart.tgz -f png
Controllare ora in tmp
della nostra home directory l'immagine boochart.png
:
Sito ufficiale
Guida scritta da: Mm-barabba 01:38, 30 set 2011 (CEST) | Debianized 20% |
Estesa da: | |
Verificata da: | |
Verificare ed estendere la guida | Cos'è una guida Debianized |