Kernel Linux: Transparent Hugepage Support

A mayor cantidad de memoria RAM disponible, el desempeño general del equipo debería ser mayor. Sin embargo en servidores con grandes cantidades de RAM puede darse la paradoja de que el rendimiento disminuya conforme aumenta la cantidad de RAM, incluso podría llegarse al extremo de que los procesos dejen de ejecutarse porque deben de esperar de forma indefinida hasta conseguir que el kernel le asigne memoria RAM.

¿Como es posible que un servidor con muchos gigas de RAM tenga peor desempeño que otro con muchos menos gigas de RAM? Porque a mayor cantidad de memoria RAM, deben de cachearse mayor número de páginas de memoria. Así, por ejemplo, un servidor con 12GiB de RAM con el tamaño de página por defecto (4KiB), tendría una tabla de paginación con 3.145.728 de páginas. Hugepages permite páginas de mayor tamaño, por defecto 2MiB en Linux x86_64 y x86-PAE, y 4MiB en Linux x86. Así, por ejemplo, un servidor Linux x86_64 con 12GiB de RAM y hugepages tendría una tabla de paginación con solo 6.144 páginas.
Tenga en cuenta que hugepages puede incrementar el uso de RAM

Por tanto hugepages permite tablas de paginación mas reducidas y un menor uso de ciclos de CPU en la gestión de las páginas de memoria. Lo cual redunda en un aumento en el desempeño del servidor. En este tutorial se verá como configurar hugepages.
Leer completo...

Optimizar el kernel Linux: MTRR cleanup support

Al configurar manualmente un kernel puede encontrarse con muchas opciones con las que aun haciendo uso de la ayuda no que totalmente claro que es o para que sirve. Un ejemplo de esto es la opción [ ] MTRR (Memory Type Range Register) support que se encuentra dentro del menú Processor type and features.
Tabla de contenidos
Leer completo...

Administración de módulos del kernel

En este tutorial se verán los comandos necesarios para administrar los módulos del kernel.
Leer completo...

Cuanto de GNU tiene GNU/Linux

A través de LWN.net he llegado al artículo How much GNU is there in GNU/Linux? - Split Perspective. En él, su autor indica que tras analizar las líneas de código del repositorio principal de Ubuntu 11.04 (Natty), tan solo el 8% del total se corresponde con el Proyecto GNU.
Leer completo...

20 aniversario de Linux

I'll be celebrating 20 years of Linux with
The Linux Foundation!
Comienzan las celebraciones del 20 Aniversario de Linux. Ponerle una fecha exacta a tal acontecimiento es difícil, ya que Linus Benedict Torvalds comenzó a trabajar en Linux en abril de 1991. El 25 de agosto de 1991 mandó el histórico mensaje al grupo de noticias comp.os.minix. El 17 de septiembre de 1991 se liberó la primera versión del kernel Linux, kernel 0.01; sin embargo tuvieron que pasar casi tres años para que el kernel se estabilizara con la versión 1.0.0 el 13 de marzo de 1994.
Leer completo...

Error: Superblock could not be read

Tras instalar una máquina virtual y compilar el kernel, me decido a reiniciar la máquina y me arroja el siguiente error:
ext2fs_check_if_mount: Can't check if filesystem is mounted due to missing mtab file while determining where /dev/sda2 is mounted. 
fsck.ext3: No such file or directory while trying to open /dev/sda2 
/dev/sda2: 
The superblock could not be read or does not describe a correct ext2 
filesystem. If the device is valid and it really contains an ext2 
filesystem (and not swap or ufs or something else), the the superblock 
is corrupt, and you might try running e2fsck with an alternate superblock: 
e2fsck -b 8193  

* Filesystem couldn't be fixed :(
Leer completo...

Añadiendo soporte al kernel para un lector de multitarjetas

Si usted usa un kernel ya compilado por su distribución, no tendrá problemas con lectores multitarjetas usb; sin embargo si usted ha compilado su propio kernel deberá añadir soporte para este tipo de dispositivos. En este tutorial se le indicará que opciones del kernel Linux debe compilar para añadir soporte a un lector multitarjetas usb.
Leer completo...

Configurar y compilar el kernel Linux

La mayoría de distribuciones vienen con un kernel configurado y compilado. Sin embargo esto significa que usted depende de su distribución para actualizar el kernel. Si desea actualizar el kernel a una versión más moderna sin tener que esperar a que su distribución la publique en el repositorio; o simplemente precisa activar alguna opción no activa por defecto en su kernel, siga leyendo.
Leer completo...

Compilar una nueva versión del kernel

Compilar manualmente el kernel Linux a partir de las fuentes es un proceso largo y tedioso. Además si se despista un poco, compila o dejas de compilar algo hará que el kernel no funcione. Una forma de ahorrarse parte de este proceso es usar el archivo de configuración del kernel actual (.config) para configurar el nuevo kernel.
Leer completo...

Reinstalar módulos externos al kernel

Tras actualizar el kernel, en caso de que use un driver gráfico privativo -de NVIDIA o ATI, por ejemplo-, es probable que los controladores gráficos no funcionen, impidiéndole iniciar las X. La solución es recompilar el driver. De igual forma, cualquier otro módulo externo al propio kernel dejará de funcionar hasta que sea recompilado.
Leer completo...