Old:Bootchart

Versione del 29 set 2011 alle 23:38 di Mm-barabba (discussione | contributi) (Creata pagina con '=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 d...')
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

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 resi 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 perfonrmance 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 secondo 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


--Mm-barabba 01:38, 30 set 2011 (CEST)