6 999
contributi
S3v (discussione | contributi) m (+ template autori) |
S3v (discussione | contributi) (+ 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 | 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 <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: | ||
<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 | 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: | ||
<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: | ||
<pre>BOOTLOG_DEST=</pre> | |||
<pre># 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</pre> | |||
==Profilo di sistema al boot (GRUB)== | ==Profilo di sistema al boot (GRUB)== | ||
Occorre per prima cosa aggiungere questo comando '' | Occorre per prima cosa aggiungere questo comando ''init=/sbin/bootchartd'' nel vostro file ''/boot/grub/menu.lst'' come da esempio: | ||
<pre>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</pre> | |||
Attenzione | 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> | |||
ed eseguiamo il comando: | |||
<pre>$ bootchart -f png</pre> | |||
avremo se tutto va bene: | |||
<pre>Parsing /var/log/bootchart.tgz | |||
Wrote image: ./bootchart.png</pre> | |||
avremo se tutto va bene | |||
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 '' | 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: | ||
<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'' : | ||
<pre>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=""</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: | ||
<pre>$ mkdir ~/tmp</pre> | |||
Copiare il file di configurazione nella cartella creata | Copiare il file di configurazione nella cartella creata: | ||
<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: | ||
<pre>BOOTLOG_DEST=~/tmp/bootchart.tgz</pre> | |||
Spostarsi nella directory | Spostarsi nella directory: | ||
<pre>$ cd tmp/</pre> | |||
Creare un profilo del sistema per esempio per 10 secondi : | Creare un profilo del sistema per esempio per 10 secondi: | ||
<pre>$ /sbin/bootchartd start; sleep 10; /sbin/bootchartd stop</pre> | |||
Creare l' immagine | Creare l'immagine: | ||
<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: | ||
<pre>$ mkdir ~/tmp</pre> | |||
Copiare il file di configurazione nella cartella creata | Copiare il file di configurazione nella cartella creata: | ||
<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: | ||
<pre>BOOTLOG_DEST=~/tmp/bootchart.tgz</pre> | |||
Spostarsi nella directory | Spostarsi nella directory: | ||
<pre>$ cd tmp/</pre> | |||
Creiamo il profilo di un' applicazione per esempio libreoffice : | Creiamo il profilo di un'applicazione per esempio <code>libreoffice</code> : | ||
<pre>$ /sbin/bootchartd start libreoffice</pre> | |||
Dopo aver terminato l'applicazione eseguire bootchart | Dopo aver terminato l'applicazione eseguire <code>bootchart</code>: | ||
<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: | [[Categoria:Boot]][[Categoria:ottimizzazione del sistema]] | ||
[[Categoria: |
contributi