Ascii Art en errores de kernel GNU/Linux @ Sparc
Posted by vostorga - 15/10/08 at 06:10:30 pmJugando con una UltraSparc II en GNU/Linux me dio un curioso crash dump:
…
Oct 15 12:03:54 quetzalcoatl [ 253.145378] spitfire_data_access_exception: SFSR[0000000000801009] SFAR[fffff800be90bf88], going. Oct 15 12:03:54 quetzalcoatl [ 253.145472] \|/ ____ \|/ Oct 15 12:03:54 quetzalcoatl [ 253.145495] "@'/ .. \`@" Oct 15 12:03:54 quetzalcoatl [ 253.145517] /_| \__/ |_\ Oct 15 12:03:54 quetzalcoatl [ 253.145540] \__U_/ Oct 15 12:03:54 quetzalcoatl [ 253.145636] emerge(3364): Dax [#1] Oct 15 12:03:54 quetzalcoatl [ 253.145687] TSTATE: 0000004411009606 TPC: 00000000004c3dd0 TNPC: 00000000004c3dd4 Y: 00000000 Not tainted
…
La imagen de una persona sacandome la lengua en un crash dump no es tan divertida como pensó el desarrollador del kernel…
Bootchart: Graficando el proceso de arranque de GNU/Linux
Posted by vostorga - 10/10/08 at 04:10:09 pmRecientemente me encontré con una herramienta muy curiosa que muestra de forma gráfica el proceso de arranque de un GNU/Linux denominada Bootchart, la cual realiza su trabajo recolectando información de los procesos durante el arranque y renderizando el resultado a un archivo png, svg (Scalable Vector Graphics) o a un eps (PostScript).
La intención de bootchart es mostrar cuando arrancan los procesos, cuánto tiempo de CPU utilizan, utilización de disco, en otras palabras, una imagen que muestre lo que sucede durante el proceso de arranque y ayude a la posterior depuración/optimización del mismo.
Instalando…
La instalación en Gentoo es sencilla
Desenmascaramos el paquete (en mi caso tengo el keyword amd64, para otros será x86)
# echo “app-benchmarks/bootchart ~amd64” >> /etc/portage/package.keywords
Agregamos la use flaga java para poder generar archivos png
# echo “app-benchmarks/bootchart java” >> /etc/portage/package.use
Instalamos
# emerge app-benchmarks/bootchart
Configurando bootchart
Es necesario agregar init=/sbin/bootchartd al final de la línea del kernel correspondiente, dentro del archivo /boot/grub/menu.lst por ejemplo:
kernel /boot/kernel-2.6.25-gentoo-r7-vostorga-0.33 init=/sbin/bootchartd
Es necesario editar el archivo /etc/conf.d/rc y cambiar
RC_USE_BOOTCHART="yes"
El archivo de configuración /etc/bootchartd.conf está muy bien documentado, pero igualmente las opciones siguientes son posiblemente en las que estaremos más interesados:
#Esta opción nos permite utilizar BSD Accounting el cual nos permite que la visualización de procesos sea más exacta, pero para activarlo necesitamos que la opción CONFIG_BSD_PROCESS_ACCT_V3 (General setup-> BSD Process Accounting-> BSD Process Accounting version 3 file format) esté activada en el Kernel , igualmente bootchart funciona si la dejamos como “no”
PROCESS_ACCOUNTING=”yes”
#Localización del archivo comprimido donde estarán los logs de Bootchart
BOOTLOG_DEST=/var/log/bootchart.tgz
#Determina si se realizará automáticamente el gráfico una vez termine el proceso de arranque
AUTO_RENDER=”yes”
#Determina el formato del gráfico, las opciones disponibles son png, svg y eps
AUTO_RENDER_FORMAT=”png”
#Directorio donde se guardarán los gráficos
AUTO_RENDER_DIR=”/var/log”
Y la prueba……la gráfica
Por ultimo, reiniciamos y obtenemos algo como lo siguiente:
…..47 segundos en mi caso, cuáles son sus tiempos?
PD: No reinicio muchas veces ya que suspendo, pero es divertido debugguear el arrance
PD2: Luego daremos un vistazo al baselayout2+openrc que seguro disminuye el arranque en Gentoo GNU/Linux
Powered by WordPress with GimpStyle Theme design by Horacio Bella.
Entries and comments feeds.
Valid XHTML and CSS.