Bootchart: analizza i tempi di boot della tua Distro!!


Bootchart è un ottimo strumento per monitorizzare e analizzare i tempi di boot del proprio sistema. Utilissimo in molti casi, per controllare il processo di boot della propria macchina e grazie alla semplicità di installazione è alla portata di tutti.
Bootchart, da utilizzare su distribuzioni Linux, come detto in precedenza, non fa altro che analizzare il processo di avvio ma, a differenza del solito log testuale, ci restituisce un’immagine.
Questa immagine si presenta sotto le vesti di un piano cartesiano nel quale l’asse X rappresenta l’unità temporale (espressa in secondi) e nell’asse Y sono visualizzati i vari processi di boot in ordine di avvio.
Un semplice strumento che grazie a questo tipo di output ci permette di individuare a colpo d’occhio i processi che richiedono una maggior quantità di tempo che quindi condizionano i tempi di avvio del sistema operativo. In questo articolo illustreremo il percorso da seguire per mettere all’azione questo praticissimo tool.

Innanzitutto occorre installare Bootchart. Aprire una console e digitare:

sudo zypper in bootchart

(Questa procedura può essere, in alternativa,  svolta tramite interfaccia grafica ricorrendo all’uso del gestore pacchetti di Yast).

Terminato il processo di installazione passiamo all’operazione che ci permetterà di utilizzare Bootchart all’avvio del sistema. Per fare ciò dovremo intervenire sul bootloader aggiungendo un comando a quella che è la stringa di avvio del kernel.

Aprire una console, loggarsi da root e editare il file che determina la configurazione di Grub con questo comando:

kwrite /boot/grub/menu.lst

Lo scopo di questo passaggio è quello di clonare la voce di avvio e modificarla secondo le nostre esigenze

Copiare e incollare l’opzione di avvio che solitamente utilizzate per accedere a openSUSE. Questa operazione ci permetterà di visualizzare una voce aggiuntiva nel menù di avvio; per fare in modo che riusciate a riconoscere la voce che utilizza bootchart, per convenzione, è preferibile  modificare la sintassi del  titolo che generalmente rispetta questa forma "title openSUSE 11.0"; ad esempio modificare la riga secondo questa sintassi:  "title openSUSE 11.0 - Bootchart".

Successivamente, prendendo come spunto l’esempio successivo, aggiungere la stringa init=/sbin/bootchartd.

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.0 - Bootchart
    root (hd0,1)
    kernel /boot/vmlinuz-2.6.25.16-0.1-default root=/dev/disk/by-id/scsi-SATA_Maxtor_6L160P0_L42R7CSG-part2 init=/sbin/bootchartd resume=/dev/sda1 splash=silent showopts vga=0x31b
    initrd /boot/initrd-2.6.25.16-0.1-default

Analizzando l’esempio possiamo dire che nel mio caso la stringa init=/sbin/bootchartd va inserita nella posizione compresa tra root=/dev/disk/by-id/scsi-SATA_Maxtor_6L160P0_L42R7CSG-part2 e resume=/dev/sda1.

Nel vostro caso probabilmente saranno diversi i device indicati o l’ID che identifica la partizione dalla voce root e/o resume ma il procedimento è lo stesso.

Salvare il file.

Salvare questo articolo nei propri segnalibri e riavviare il sistema selezionando la voce di avvio che implementa l’utilizzo di bootchart. Se avete modificato la voce di avvio come indicato dovrete selezionare: openSUSE 11.0 - Bootchart.

Bootchart genererà in fase d’avvio il file bootchart.tgz nella directory /var/log/.

A questo punto dovremo convertire tale file in un file immagine digitando il comando:

sudo bootchart

Verrà creato il file bootchart.png e sarà sistemato nella directory da cui avete impartito il comando. Non vi resta che aprire con un’editor di immagini il file generato e controllare quanto avviene in fase di avvio.

Di default Bootchart converte il file  bootchart.tgz in un’immagine png. Se per qualsiasi esigenza il formato png non dovesse rispettare le vostre esigenze esiste la possibilità di convertire il file di output in svg digitando su un terminale questo comando:

sudo bootchart --format svg

Questo strumento è utilissimo per capire quali processi ritardano l’avvio e quali di loro possono essere eliminati in quanto risultano inutili per le operazioni che svolgete quotidianamente con il vostro computer.

Esempio di immagine ottenuta con l’utilizzo di Bootchart sul mio sistema. (Premetto che questo è il risultato di Bootchart sulla voce che avvia la mia openSUSE-TEST).

Buona analisi.

 

, ,

Segnala questo articolo: Queste icone linkano i siti di social bookmarking sui quali i lettori possono condividere e trovare nuove pagine web.
  • Facebook
  • del.icio.us
  • Digg
  • Reddit
  • StumbleUpon
  • Technorati
  • OKnotizie
  • Google Bookmarks
  • TwitThis
  • Upnews
  • Segnalo

  • MatStardust
    ciao,
    c'è anche una piccola guida dove si può imparare anche a leggerli i dati?
    grazie

    ps: non c'era un altro verbo al posto di "ricognizzare"???
  • Ciao MatStardust
    individuare va meglio? :)
    Non sono a conoscenza di guide per la lettura del log... il problema a mio avviso non è tanto la lettura ma il riconoscimento dei vari moduli.. per questi ultimi una ricerca in rete può aiutarti alla grande. ;)
blog comments powered by Disqus