Old:Bootchart: differenze tra le versioni

+ categorie + varie
m (+ template autori)
(+ categorie + varie)
Riga 1: Riga 1:
{{Stub}}
{{Stub}}
{{Versioni compatibili|Lenny|Squeeze}}
{{Versioni compatibili|Lenny|Squeeze}}
=Introduzione=
== Introduzione ==
Bootchart è uno strumento per l'analisi delle prestazioni e la visualizzazione al processo di avvio di GNU / Linux.  
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.
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 perfonrmance come grafico in diversi formati.
Bootchart è usato per processare il file di log creato da <code>bootchartd</code> (<code>/var/log/bootchart.tgz</code> di default) per poi costruire l'albero dei processi e renderizzare le perfonrmances come grafico in diversi formati.


Il grafico può essere poi analizzato per esaminare le dipendenze dei processi e in generale l'utilizzo delle risorse.
Il grafico può essere poi analizzato per esaminare le dipendenze dei processi e in generale l'utilizzo delle risorse.


=Installazione=
== Installazione ==
L'installazione potrebbe comportare l'installazione di altri pacchetti come dipendenza anche se solitamente basta :
L'installazione potrebbe comportare l'installazione di altri pacchetti come dipendenza anche se solitamente basta:
# aptitude install bootchart
<pre># aptitude install bootchart</pre>


=Utilizzo=
== 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  
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
<pre>/sbin/bootchartd</pre>
questi genererà un file di log come indicato in ''/etc/bootchartd.conf'' (oppure ''/altra/dir/bootchartd.conf'') nella riga
questi genererà un file di log come indicato in ''/etc/bootchartd.conf'' (oppure ''/altra/dir/bootchartd.conf'') nella riga:
BOOTLOG_DEST=
<pre>BOOTLOG_DEST=</pre>


# bootchart -h
<pre># bootchart -h
usage: bootchart [OPTION]... [FILE]...
usage: bootchart [OPTION]... [FILE]...
-f,--format <format>    image format (png | eps | svg; default: png)
-f,--format <format>    image format (png | eps | svg; default: png)
-h,--help              print this message
-h,--help              print this message
-n,--no-prune          do not prune the process tree
-n,--no-prune          do not prune the process tree
-o,--output-dir <dir>  output directory where images are stored
-o,--output-dir <dir>  output directory where images are stored
                        (default: .)
                        (default: .)
-v,--version            print version and exit
-v,--version            print version and exit</pre>


==Profilo di sistema al boot (GRUB)==
==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:  
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
<pre>title          Debian GNU/Linux, kernel 2.6.26-2-686
root            (hd1,0)
root            (hd1,0)
kernel          /boot/vmlinuz-2.6.26-2-686 root=/dev/sdb1 ro init=/sbin/bootchartd
kernel          /boot/vmlinuz-2.6.26-2-686 root=/dev/sdb1 ro init=/sbin/bootchartd
initrd          /boot/initrd.img-2.6.26-2-686  
initrd          /boot/initrd.img-2.6.26-2-686</pre>


Attenzione perchè ad ogni aggiornamento di grub o del kernel l'opzione aggiunta verrà eliminata, perciò dovrete reinserirla se volete dei log aggiornati.
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.
Ora occorre riavviare il sistema per poter creare il file di log necessario.


Al riavvio da shell spostiamoci dove vogliamo creare l'immagine, esempio:
Al riavvio da shell spostiamoci dove vogliamo creare l'immagine, esempio:
<pre>$ cd /home/barabba/</pre>


$ cd /home/barabba/
ed eseguiamo il comando:
<pre>$ bootchart -f png</pre>


ed eseguiamo il comando
avremo se tutto va bene:
 
<pre>Parsing /var/log/bootchart.tgz
$ bootchart -f png
Wrote image: ./bootchart.png</pre>
 
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.
possiamo ora andare nella cartella e con il nostro visualizzatore di immagini preferito visualizzare il nostro boot.


==Profilo di sistema al boot (GRUB2)==
=== 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:
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 {
<pre>menuentry 'Debian GNU/Linux, con Linux 3.0.0-1-amd64' --class debian --class gnu-linux --class gnu --class os {
         insmod gzio
         insmod gzio
         insmod part_msdos
         insmod part_msdos
Riga 68: Riga 65:
         echo    'Caricamento ramdisk iniziale...'
         echo    'Caricamento ramdisk iniziale...'
         initrd  /boot/initrd.img-3.0.0-1-amd64
         initrd  /boot/initrd.img-3.0.0-1-amd64
}
}</pre>
Le operazioni per ottenere l' immagine del boot sono le stesse indicate precedentemente.
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.
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'' :
Per rendere la modifica permanente per ora ho risolto modificando il file ''/etc/default/grub'' :
GRUB_DEFAULT=0
<pre>GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet init=/sbin/bootchartd"
GRUB_CMDLINE_LINUX_DEFAULT="quiet init=/sbin/bootchartd"
GRUB_CMDLINE_LINUX=""
GRUB_CMDLINE_LINUX=""</pre>


{{ Warningbox | In alcuni sistemi potrebbero esserci servizi che all' avvio non vengono avviati <pre>/sbin/start-stop-daemon: unable to chdir() to (unreachable)/ (No such file or directory)</pre>esiste un bug report a riguardo
{{ Warningbox | In alcuni sistemi potrebbero esserci servizi che all'avvio non vengono avviati <pre>/sbin/start-stop-daemon: unable to chdir() to (unreachable)/ (No such file or directory)</pre>esiste un bug report a riguardo
<pre>http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=614066</pre>
<pre>http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=614066</pre>
verificare eventuali problemi nel file ''/var/log/boot''}}
verificare eventuali problemi nel file ''/var/log/boot''}}
Riga 86: Riga 83:
[[File:Bootchart.png |320px|center]]
[[File:Bootchart.png |320px|center]]


==Profilo di sistema avviato==
=== Profilo di sistema avviato ===
Creare una cartella
Creare una cartella:
$ mkdir ~/tmp  
<pre>$ mkdir ~/tmp</pre>
Copiare il file di configurazione nella cartella creata
Copiare il file di configurazione nella cartella creata:
$ cp /etc/bootchartd.conf ~/tmp
<pre>$ cp /etc/bootchartd.conf ~/tmp</pre>
Editare il file di configurazione e cambiare BOOTLOG_DEST verso la nostra cartella
Editare il file di configurazione e cambiare <code>BOOTLOG_DEST</code> verso la nostra cartella:
BOOTLOG_DEST=~/tmp/bootchart.tgz
<pre>BOOTLOG_DEST=~/tmp/bootchart.tgz</pre>
Spostarsi nella directory
Spostarsi nella directory:
$ cd tmp/
<pre>$ cd tmp/</pre>
Creare un profilo del sistema per esempio per 10 secondi :
Creare un profilo del sistema per esempio per 10 secondi:
$ /sbin/bootchartd start; sleep 10; /sbin/bootchartd stop
<pre>$ /sbin/bootchartd start; sleep 10; /sbin/bootchartd stop</pre>
Creare l' immagine
Creare l'immagine:
$ bootchart bootchart.tgz -f png
<pre>$ bootchart bootchart.tgz -f png</pre>
Controllare ora in tmp della nostra home directory l' immagine boochart.png
Controllare ora in <code>tmp</code> della nostra home directory l'immagine <code>boochart.png</code>:
[[File:Bootchart1.png |320px|center]]
[[File:Bootchart1.png |320px|center]]


==Profilo applicazione==
=== Profilo applicazione ===
Creare una cartella
Creare una cartella:
$ mkdir ~/tmp  
<pre>$ mkdir ~/tmp</pre>
Copiare il file di configurazione nella cartella creata
Copiare il file di configurazione nella cartella creata:
$ cp /etc/bootchartd.conf ~/tmp
<pre>$ cp /etc/bootchartd.conf ~/tmp</pre>
Editare il file di configurazione e cambiare BOOTLOG_DEST verso la nostra cartella
Editare il file di configurazione e cambiare <code>BOOTLOG_DEST</code> verso la nostra cartella:
BOOTLOG_DEST=~/tmp/bootchart.tgz
<pre>BOOTLOG_DEST=~/tmp/bootchart.tgz</pre>
Spostarsi nella directory
Spostarsi nella directory:
$ cd tmp/
<pre>$ cd tmp/</pre>
Creiamo il profilo di un' applicazione per esempio libreoffice :
Creiamo il profilo di un'applicazione per esempio <code>libreoffice</code> :
$ /sbin/bootchartd start libreoffice
<pre>$ /sbin/bootchartd start libreoffice</pre>
Dopo aver terminato l'applicazione eseguire bootchart
Dopo aver terminato l'applicazione eseguire <code>bootchart</code>:
$ bootchart bootchart.tgz -f png
<pre>$ bootchart bootchart.tgz -f png</pre>
Controllare ora in tmp della nostra home directory l' immagine boochart.png
Controllare ora in <code>tmp</code> della nostra home directory l'immagine <code>boochart.png</code>:
[[File:Bootchart2.png |320px|center]]
[[File:Bootchart2.png |320px|center]]


= Sito ufficiale =
== Sito ufficiale ==


* http://www.bootchart.org
* http://www.bootchart.org
Riga 127: Riga 124:
}}
}}


[[Categoria:Software]]
[[Categoria:Boot]][[Categoria:ottimizzazione del sistema]]
[[Categoria:Manuali]]
6 999

contributi