Bootchart: Visualizando el proceso de inicio de GNU/Linux

Bootchart es una herramienta que le permite visualizar gráficamente el proceso de inicio de su sistema GNU/Linux. Para ello Bootchart se ejecuta en segundo plano y comienza a recopilar información sobre el proceso de arranque, el tiempo ocupado por cada hilo, estadísticas de CPU y disco... Una vez el proceso de arranque finaliza, genera un gráfico en formato PNG, SVG o EPS con todos los datos recolectados. En este tutorial aprenderá a instalar y configurar Bootchart.

Configurar el kernel
Debe compilar la opción BSD Process Accounting (CONFIG_BSD_PROCESS_ACCT) para que el kernel genere información sobre el proceso de arranque. Esta información, generada por el kernel, es almacenada en los archivos:

  • /proc/stat Estadísticas de uso de la CPU de usuario, sistema, E/S y tiempo de inactividad.
  • /proc/diskstats Estadísticas de uso de disco y rendimiento.
  • /proc/[PID]/stat Información sobre los procesos en ejecución: PID padre, estado del proceso, uso de CPU...

Si desea obtener una reconstrucción del árbol de procesos más exacta, deberá compilar la opción BSD Process Accounting version 3 file format CONFIG_BSD_PROCESS_ACCT_V3. [+/-] Mostrar opciones del kernel

En caso de no estar seguro si su kernel tiene activada estas opciones, puede averiguarlo simplemente grep -i acct /usr/src/linux/.config. [+/-] Ver ejemplo


Instalar Bootchart
Podrá instalar el paquete bootchart desde los repositorios de su distribución y recuerde que si ha optado por compilar BSD Process Accounting version 3 file format debera instalar también acct.

Si es usuario de gentoo recuerde activar la USE acct antes de instalar bootchart. Podrá hacer-lo ejecutando echo "app-benchmarks/bootchart acct" >> /etc/portage/package.use && emerge -av bootchart. [+/-] Ver ejemplo


Configurar el sistema para que inicie bootchart
Si usted es usuario de gentoo, deberá modificar el archivo /etc/conf.d/rc o el boot loader en función del sistema de arranque (rc system) que use su máquina.
  • baselayout 1.x Deberá editar el fichero /etc/conf.d/rc y localizar la línea RC_BOOTCHART="___". Deberá descomentar la línea, en caso necesario, e indicar yes. Deberá quedar tal y como se indica a continuación, RC_BOOTCHART="yes".
  • baselayout 2.x Deberá modificar el boot loader y añadir init=/sbin/bootchartd a la línea del kernel. Deberá de quedar algo similar a, kernel /boot/kernel-2.6.37-r4-V.0.2 root=/dev/sda2 init=/sbin/bootchartd. Esto puede hacerlo directamente en el grub.conf o bien iniciar un arranque interactivo, para ello deberá seleccionar una entrada en el menú de arranque, pulsar e para editarla, añadir init=/sbin/bootchartd al final de la línea del kernel y por último iniciar el proceso de arranque del sistema pulsando b.

Si no es usuario de gentoo, siga el método de baselayout 2.x mostrado anteriormente.

Configurar bootchart
En el archivo de configuración de bootchart, /etc/bootchard.conf, deberá de ajustar al menos dos parámetros: PROCESS_ACCOUNTING="yes" y AUTO_RENDER="yes" aunque existen muchas más opciones como:
  • TMPFS_SIZE=32m Le permite ajustar la cantidad de memoria dedicada para registrar datos. El valor por defecto es 32 MB, lo que equivale aproximadamente a 20 minutos de registro de datos.
  • SAMPLE_PERIOD=0.2 Le permite ajustar la frecuencia de registro de datos, expresada en segundos. El valor por defecto es 0,2 (segundos).
  • PROCESS_ACCOUNTING="yes" Ofrece una reconstrucción del árbol de procesos más exacta. Para que funcione deberá compilar la opción BSD Process Accounting version 3 file format CONFIG_BSD_PROCESS_ACCT_V3 en el kernel.
  • AUTO_RENDER="yes" Le permite indicar si desea generar una imagen con el proceso de inicio del sistema.
  • AUTO_RENDER_FORMAT="png" Especifica el formato de la imagen generada. Los formatos admitidos son png, svg y eps.
  • AUTO_RENDER_DIR="/var/log" Especifica el directorio donde se generará la imagen con el proceso de carga

En caso de que decida desactivar la generación de la imagen (AUTO_RENDER="no"), podrá generar la imagen manualmente con el comando bootchart. [+/-] Ver ejemplo

Resultado final
A continuación les muestro la imagen con el proceso de arranque de mi sistema. En la imagen se puede observar cuatro bloques claramente diferenciados.
  • Primer bloque (texto) Contiene información sobre el sistema: versión del kernel (2.6.37-gentoo-r4), CPU (i7 920), opciones pasadas al kernel (ninguna) y el tiempo total de carga (23 segundos).
  • Segundo bloque (gráfico) Información de uso de CPU y operaciones E/S.
  • Tercer bloque (gráfico) Información sobre rendimiento y utilización del disco.
  • Cuarto bloque (gráfico) Esquema detallado de los procesos iniciados, tiempos, procentaje de uso de CPU...

0 comentarios:

Publicar un comentario

Recuerde que puede utilizar algunos códigos HTML como <b>para negrita</b>, <i>para cursiva</i> y <a href="URL">para enlaces</a>.