Hace un par de semanas me asignaron una laptop nueva en el trabajo, cambie mi Lenovo T60 por una T410 que en general es mucho mas rápida. La nueva tiene 4GB de RAM por lo que preferí instalar Fedora 64 bits, todo me funciono sin problemas excepto por el ajuste del brillo de la pantalla, investigando un poco conseguí el controlador de vídeo como lo pueden ver aquí:

lspci | grep VGA
01:00.0 VGA compatible controller: nVidia Corporation GT218 [NVS 3100M] (rev a2)
Ajuste de brillo de pantalla en Fedora 14 para una laptop Lenovo T410

Luego de instalare los controladores privativos de nVidia me puse a probar las teclas especiales y note que no podía ajustar el brillo de la pantalla, cosa que es una molestia en especial si te toca estar de guarida y te llaman a las 3am por que el servidor XYZ reporta cargas altas. Luego de investigar un poco comparar versiones distintas de xorg.conf, encontré la solución. En la sección Device es necesario agregarle la opción RegistryDwords y la variable EnableBrightnessControl con el valor 1. La sección Device queda así:

Section "Device"
  Identifier     "Device0"
  Driver         "nvidia"
  VendorName     "NVIDIA Corporation"
  Option "RegistryDwords" "EnableBrightnessControl=1"
EndSection

Mi archivo de configuración xorg.conf completo puede ser descargado desde este link.

Hoy en día el cuello de botella a nivel de comunicación son los discos duros. con largos tiempos de búsqueda, escritura y lectura son excesivamente lentos si lo comparamos con las velocidades de RAM. Hace unos años era un lujo montar discos virtuales en RAM y se usaban temporalmente y para cosas puntuales como cuando en gentoo se hacia un emerge -e world y montaba /var/tmp/portage en RAM.

Para usuarios que el principal uso de su computadora es navegar en Internet bien sea por trabajo (nagios por ejemplo), escribir artículos o simplemente trolear este tip les puede ser útil si poseen suficiente RAM.

En Fedora podemos mover el cache de Google Chrome y de Firefox a RAM creando un ramdisk y montándolo, luego configuramos los exploradores para que usen estos directorios. Lo primero es editar el archivo /boot/grub/grub.conf y agrega ramdisk_size=512000 justo antes de quiet splash en la linea de kernel que este usando.

 title Fedora ramdisk (2.6.37.i686)
 root (hd1,0)
 kernel /boot/vmlinuz-2.6.37.i686 ro root=UUID=f91d2720-7838-43d3-a3a4-5c993533d0 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rhgb ramdisk_size=512000 quiet
initrd /boot/initramfs-2.6.37.img``

Luego edita tu /etc/rc.local y agrega estas lineas para formatear el ramdisk, montarlo, crear los directorios necesarios para FireFox y Chrome y darle la permisologia necesaria.

# RAM disck para cache de browsers
mke2fs -m 0 /dev/ram0
mount /dev/ram0 /tmp/ram/
mkdir -p /tmp/ram/firefox
mkdir -p /tmp/ram/chrome
chmod 777 /tmp/ram/ -R

Estos comandos me funcionan con Fedora (estoy seguro que en cualquier otra distro funcionaria). Para hacer que FireFox guarde su cache allí debes agregar o modificar su conflagración específicamente la llave browser.cache.disk.parent_directory con el valor /tmp/ram/firefox, Para Google Chrome es un poco mas fácil, simplemente pasale el parámetro –disk-cache-dir=”/tmp/ram/” al arranque.

[gallery link="file"]

Los zombis también pueden estar en el NSLU2

Un proceso zombi es un proceso que ha completado su ejecución pero aun tiene una entrada en la tabla de procesos. Esta entrada aun es necesitada para permitir la lectura del estado de su estado de salida. El Termino zombi se deriva de la definición de un muerto viviente (se acuerdan de esa película?). Para ponerlo en términos simples y un poco mas técnicos, un proceso hijo ha terminado pero aun no se ha eliminado de la tabla de procesos y el comando kill no tiene efectos sobre él.

Identificarlos es fácil, podemos ejecutar el comando ps y buscamos cuales procesos tienen una "z" en la columna "STAT". Los procesos zombi que permanecen por un periodo mas que corto por lo general es señal de un Bug en el proceso padre. Ahora bien, si el zombi aun existe después de que el proceso padre ha terminado esto por lo general indica un bug en el sistema operativo.

[caption id="attachment_231" align="aligncenter" width="700" caption="La salida de el comando top que muestra donde están los zombis"]La salida de el comando TOP que muestra donde estan los zombis[/caption]

Un procesos zombi no es un problema tan grave, el problema se agrava si el computador va a ser sometido a fuertes cargas pues puede ser que se multipliquen. A pesar de que los zombis no consumen memoria un incremento acelerado de estos podría traer consecuencias a la hora de que el sistema operativo se le acaben los PID a asignar.

Una vez que el padre haya matado el zombi el proceso ID (PID) y la entrada en la tabla de procesos puede ser reutilizada, pero si este falla, el zombi permanece en la tabla de procesos.

Para eliminar un zombi del sistema, se le debe enviar la señal SIGCHLD al padre usando el comando kill. En caso de que el padre se no pueda eliminar el zombi de la tabla de procesos podríamos intentar matando el proceso padre. Algo que debemos tomar en cuenta es que cuando un proceso pierde a su padre, 'init' pasar a ser su nuevo padre y este se encarga de limpiar periódicamente la tabla de procesos de los zombis cuyos padres sean init.