viernes, 30 de septiembre de 2011

Gestión de espacio de memoria de intercambio (swap) en GNU/Linux.


¿Cuanto espacio para memoria de intercambio se debe asignar al sistema?


Menos de 1 GB RAMDoble de la cantidad total de memoria RAM.
Más de 1 GB RAMMisma cantidad del total de memoria RAM, más 2 GB.

Optimizando el sistema, cambiando el valor de /proc/sys/vm/swappiness


El núcleo de GNU/Linux permite cambiar con que frecuencia las aplicaciones y programas son movidas de la memoria física hacia la memoria de intercambio. El valor predeterminado es 60, como puede observarse al mirar el contenido de/proc/sys/vm/swappiness de la siguiente forma:

cat /proc/sys/vm/swappiness

Pueden establecerse valores entre 0 y 100, donde el valor más bajo establece que se utilice menos la memoria de intercambio, lo cual significa que se reclamará en su lugar el caché de la memoria. El valor predeterminado de 60, fue establecido teniendo en mente a quienes desarrollan el núcleo de Linux, con la finalidad de permitir realizar pruebas y diagnósticos.


Para la mayoría de los casos, conviene cambiar este valor por uno más bajo a fin de que el sistema utilice menos la memoria de intercambio, y utilice más la memoria cache. Ésta es una clase de memoria RAM estática de acceso aleatorio (SRAM oStatic Random Access Memory). Se sitúa entre la Unidad Central de Procesamiento (CPU) y la memoria RAM y se presenta de forma temporal y automática para el usuario proporcionado acceso rápido a los datos de uso más frecuente.

Un valor apropiado y que funcionará para la mayoría de los sistemas en producción es 10. En el siguiente ejemplo se aplica el valor 10 para el archivo /proc/sys/vm/swappiness.

echo 10 > /proc/sys/vm/swappiness
Para lo anterior, también se puede ejecutar el mandato sysctl de la siguiente forma:

sysctl -w vm.swappiness=10

Lo anterior devuelve una salida similar a la siguiente, confirmando que se ha aplicado el cambio:

vm.swappiness = 10
Este cambio en las variables del sistema de forma aplica inmediata hasta el siguiente reinicio del sistema. Para hacer que el cambio sea permanente, se edita el archivo /etc/sysctl.conf.

sudo nano /etc/sysctl.conf
Y se añade la siguiente línea:

vm.swappiness = 10

No hay comentarios:

Publicar un comentario