Difference between revisions of "Bootchart (Italiano)"

From ArchWiki
Jump to: navigation, search
m (installare bootchart)
(Eseguire Bootchart)
Line 13: Line 13:
  
 
= Eseguire Bootchart =
 
= Eseguire Bootchart =
per utilizzare bootchart dovrete inserirlo in init  o avviarlo manualmente tramite uno degli script di init (rc.sysinit preferibilmente). nota, se lo avviate manualmente dovrete anche fermarlo altrimenti  ad ogni avvio verrà generata una ulteriore tabellla
+
Per usare bootchart, va impostato come processo init nel gestore di avvio (ad esempio aggiungendo alla riga di avvio di GRUB 'init=/sbin/bootchartd') od avviarlo manualmente da uno degli script di init (preferibilmente {{filename|rc.sysinit}}). Nota che se avvii bootchartd manualmente, devi anche fermarlo manualmente. In generale, bisogna essere molto attenti con quest'ultimo metodo.
== Impostare Boot loader  ==
+
 
aggiungete alla riga kernel di grub 'init=/sbin/bootchartd' . quanto avviato dal bootloader  bootchar indicherà il tempo trascoros dalla selezione del sistema da avviare  fino alla schermata di login .
+
== Impostazione Gestore di Avvio ==
 +
Questo in generale richiede di fare una copia delle opzioni di avvio che si vuole usare (in questo modo si avrà sia la voce normale che con bootchart) ed aggiungervi {{Codeline|<nowiki>init=/sbin/bootchartd</nowiki>}}. Quando avviato dal gestore di avvio, bootchart si fermerà quando si arriva al gestore di accesso.
 +
 
 +
=== Grub ===
 +
Aprire {{filename|/boot/grub/menu.lst}}, e fare copia/incolla della voce di cui si vuole che bootchart generi un log. Aggiungere {{Codeline|<nowiki>init=/sbin/bootchartd</nowiki>}} alla riga del kernel. Esempio:
  
 
  # (1) Arch Linux Bootchart
 
  # (1) Arch Linux Bootchart
 
  title  Arch Linux
 
  title  Arch Linux
 
  root  (hd0,0)
 
  root  (hd0,0)
  kernel /vmlinuz26 root=/dev/disk/by-uuid/d531ff5b-de65-499a-9942-d18682375163 ro vga=37C '''init=/sbin/bootchartd'''
+
  kernel /vmlinuz-linux root=/dev/disk/by-uuid/d531ff5b-de65-499a-9942-d18682375163 ro quiet '''init=/sbin/bootchartd'''
  initrd /boot/kernel26.img
+
  initrd /initramfs-linux.img
  
=== Lilo ===
 
TODO
 
 
=== Grub 2 ===
 
=== Grub 2 ===
Open up /boot/grub/grub.cfg, copy the boot option you want to profile and edit it to look like this:
+
Aprire {{filename|/boot/grub/grub.cfg}}, fare copia/incolla l'opzione di avvio che si vuole usare e modificarla perché appaia così:
  
 
  # (0) Arch Linux
 
  # (0) Arch Linux
 
  menuentry "Arch Linux" {
 
  menuentry "Arch Linux" {
 
  set root=(hd0,1)
 
  set root=(hd0,1)
  linux /boot/vmlinuz26 root=/dev/sda1 ro
+
  linux /boot/vmlinuz-linux root=/dev/sda1 ro quiet
  initrd /boot/kernel26.img
+
  initrd /boot/initramfs-linux.img
 
  }
 
  }
 
  # (1) Arch Linux with Bootchart
 
  # (1) Arch Linux with Bootchart
 
  menuentry "Arch Linux with Bootchart" {
 
  menuentry "Arch Linux with Bootchart" {
 
  set root=(hd0,1)
 
  set root=(hd0,1)
  linux /boot/vmlinuz26 root=/dev/sda1 ro init=/sbin/bootchartd
+
  linux /boot/vmlinuz-linux root=/dev/sda1 ro quiet init=/sbin/bootchartd
  initrd /boot/kernel26.img
+
  initrd /boot/initramfs-linux.img
 
  }
 
  }
  
Now you can reboot and choose the new bootcharting option.
+
Ora si può riavviare e scegliere la nuova opzione con bootchart.
  
== rc.sysinit setup ==
+
=== Lilo ===
This one is dangerous (you can make your Arch Linux unbootable) - use it only when the first approach fails. When run in this way, not only you'll have to stop bootchartd manually after you boot up (or it will completely fill your harddrive) but it will start with every boot too. Also, any changes to /etc/rc.sysinit will be reverted next time you update the initscripts package.
+
Da fare
On the positive side, you'll end up with a bootchart that shows what happens after you log in.
+
 
=== Edit /etc/rc.sysinit ===
+
== impostazione rc.sysinit ==
Now, we're going to add this line:
+
Questo è pericoloso (si può rendere arch inavviabile) - usarlo solo se l'altro metodo non funziona. Quando si usa questo metodo non solo si deve fermare bootchartd manualmente dopo l'avvio (o riempirà completamente il disco) ma partirà ogni volta che avvierai il computer. Inoltre ogni cambiamento a {{filename|/etc/rc.sysinit}} sarà annullato la prossima volta che verrà aggiornato il pacchetto initscripts.
 +
Una nota positiva è che così bootchart mostra cosa succede dopo l'accesso, ovvero darà un quadro completo del vero avvio di un sistema operativo, includendo il caricamento dell'ambiente di lavoro.
 +
 
 +
=== Modificare /etc/rc.sysinit ===
 +
Bisogna aggiungere questa riga:
 
  /sbin/bootchartd start
 
  /sbin/bootchartd start
to /etc/rc.sysinit
+
a {{filename|/etc/rc.sysinit}}
  
It cannot be too high up, because that would render the system unbootable, but placing it too far into the script will hide anything that happened before from the bootchart.
+
Non può essere messa molto in alto (ovvero all'inizio), perché pootrebbe rendere il sistema inavviabile, ma allo stesso tempo metterla molto in basso (ovvero alla fine) nello script nasconderà ogni cosa che succede prima dell'avviod di bootchart.
It should be safe to put this right before the section that brings up the system clock.
+
Dovrebbe essere sicuro metterla appena prima della sezione che avvia l'orologio di sistema.
Look for this line:
+
Per farlo cercare questa riga:
 
  stat_busy "Configuring System Clock"
 
  stat_busy "Configuring System Clock"
Put this:
+
E mettere
 
  /sbin/bootchartd start
 
  /sbin/bootchartd start
before it.
+
prima di essa.
=== Stop bootchartd after login ===
+
 
As stated previously, you have to stop bootchartd manually.
+
=== Fermare bootchartd dopo l'accesso ===
Either run this as root:
+
Come scritto in precedenza, occorre fermare manualmente bootchartd (il demone di bootchart).
 +
Per farlo eseguire da root:
 
  /sbin/bootchartd stop
 
  /sbin/bootchartd stop
Or with sudo if you have that set up:
+
Oppure da sudo se è stato impostato:
 
  sudo /sbin/bootchartd stop
 
  sudo /sbin/bootchartd stop
  

Revision as of 09:25, 18 October 2011

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Introduzione

Bootchart è un programma utilizzato per l'analisi dei processi d'avvio (ad esempio può essere utile per ottimizzare e velocizzare il boot). È composto dal demone bootchartd e da bootchart-render; una volta usato genererà una tabella per ogni avvio che fornisce indicazioni su come, quanto e quali processi sono in esecuzione, utilizzo di cpu, memoria e tempi di accesso al disco.

installare bootchart

Bootchart al momento non è supporato ma è disponibile in AUR, la versione più popolare è questa.

Nota: Un'alternativa a Bootchart è bootchart2, che almeno ha attività più recenti del 2005. Può essere trovato in AUR come Template:Package AUR. Usa python per generare il grafico finale, aniché usare una JVM.

Eseguire Bootchart

Per usare bootchart, va impostato come processo init nel gestore di avvio (ad esempio aggiungendo alla riga di avvio di GRUB 'init=/sbin/bootchartd') od avviarlo manualmente da uno degli script di init (preferibilmente Template:Filename). Nota che se avvii bootchartd manualmente, devi anche fermarlo manualmente. In generale, bisogna essere molto attenti con quest'ultimo metodo.

Impostazione Gestore di Avvio

Questo in generale richiede di fare una copia delle opzioni di avvio che si vuole usare (in questo modo si avrà sia la voce normale che con bootchart) ed aggiungervi Template:Codeline. Quando avviato dal gestore di avvio, bootchart si fermerà quando si arriva al gestore di accesso.

Grub

Aprire Template:Filename, e fare copia/incolla della voce di cui si vuole che bootchart generi un log. Aggiungere Template:Codeline alla riga del kernel. Esempio:

# (1) Arch Linux Bootchart
title  Arch Linux
root   (hd0,0)
kernel /vmlinuz-linux root=/dev/disk/by-uuid/d531ff5b-de65-499a-9942-d18682375163 ro quiet init=/sbin/bootchartd
initrd /initramfs-linux.img

Grub 2

Aprire Template:Filename, fare copia/incolla l'opzione di avvio che si vuole usare e modificarla perché appaia così:

# (0) Arch Linux
menuentry "Arch Linux" {
set root=(hd0,1)
linux /boot/vmlinuz-linux root=/dev/sda1 ro quiet
initrd /boot/initramfs-linux.img
}
# (1) Arch Linux with Bootchart
menuentry "Arch Linux with Bootchart" {
set root=(hd0,1)
linux /boot/vmlinuz-linux root=/dev/sda1 ro quiet init=/sbin/bootchartd
initrd /boot/initramfs-linux.img
}

Ora si può riavviare e scegliere la nuova opzione con bootchart.

Lilo

Da fare

impostazione rc.sysinit

Questo è pericoloso (si può rendere arch inavviabile) - usarlo solo se l'altro metodo non funziona. Quando si usa questo metodo non solo si deve fermare bootchartd manualmente dopo l'avvio (o riempirà completamente il disco) ma partirà ogni volta che avvierai il computer. Inoltre ogni cambiamento a Template:Filename sarà annullato la prossima volta che verrà aggiornato il pacchetto initscripts. Una nota positiva è che così bootchart mostra cosa succede dopo l'accesso, ovvero darà un quadro completo del vero avvio di un sistema operativo, includendo il caricamento dell'ambiente di lavoro.

Modificare /etc/rc.sysinit

Bisogna aggiungere questa riga:

/sbin/bootchartd start

a Template:Filename

Non può essere messa molto in alto (ovvero all'inizio), perché pootrebbe rendere il sistema inavviabile, ma allo stesso tempo metterla molto in basso (ovvero alla fine) nello script nasconderà ogni cosa che succede prima dell'avviod di bootchart. Dovrebbe essere sicuro metterla appena prima della sezione che avvia l'orologio di sistema. Per farlo cercare questa riga:

stat_busy "Configuring System Clock"

E mettere

/sbin/bootchartd start

prima di essa.

Fermare bootchartd dopo l'accesso

Come scritto in precedenza, occorre fermare manualmente bootchartd (il demone di bootchart). Per farlo eseguire da root:

/sbin/bootchartd stop

Oppure da sudo se è stato impostato:

sudo /sbin/bootchartd stop

Generating a chart

Generating a bootchart involves running:

bootchart-render

in a folder to which you have write access. This will generate a 'bootchart.png' image with your chart. You'll have to have a Java runtime installed and properly set up before you can do this.

Troubleshooting

Bootchart-render cannot generate a 'bootchart.png' image and shows the error message:

/var/log/bootchart.tgz not found

It mostly means that bootchartd was unable to detect when the booting process was finished. This can happen when you are using different login manager then KDM or GDM such as SLIM or entrance. You have to open /sbin/bootchartd script and append those applications to exit_proc variable, for example:

# The processes we have to wait for
local exit_proc="gdmgreeter gdm-binary kdm_greet kdm slim"

If you are using no login manager, edit the exit_proc variable in this way:

# The processes we have to wait for
local exit_proc="login"

Example bootcharts

Boot in 5 seconds

LWN Article on fast booting netbooks

This article is really awesome and along with a bunch of bootcharts provides some tips on how to boot faster. Some of those improvements are beyond reach of the ordinary user though (patching X.org, kernel, etc.).

Useful links