jueves, 17 de julio de 2008

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. 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 los desarrolladores del núcleo de GNU/Linux a fin de permitir realizar pruebas y diagnósticos.

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

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 o Static 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 fichero /proc/sys/vm/swappiness.

echo 10 > /proc/sys/vm/swappiness

Para lo anterior, también se puede utilizar 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:

[root@mlocalhost ~]# sudo -w sysctl vm.swappiness=10vm.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 fichero /etc/sysctl.conf y se añade la siguiente línea:

vm.swappiness = 10

Ver artículo original

Publicado con El navegador Flock