Mejorar el rendimiento con swappiness

Una de las novedades que ha aportado el kernel linux a partir de la versión 2.6 (entre muchas otras características) es la posibilidad de ‘tunear’ la gestión de la memoria virtual.

La memoria virtual sirve para que las aplicaciones dispongan de más memoria de la que físicamente existe.

Por poner un ejemplo: cuando ejecutamos una aplicación pesada como OpenOffice que requiere mucha cantidad de memoria, el kernel transfiere a la partición de intercambio (SWAP) aquellos datos de otras aplicaciones que no están siendo usados en ese momento. De la misma manera, si minimizas el OpenOffice durante unas cuantas horas mientras navegas por internet, ves unas películas y actualizas la Ubuntu, lo más probable es que gran parte de los datos que necesita OpenOffice hayan sido transferidos de la memoría RAM a la partición de intercambio.

El proceso por el cual se transfieren datos entre la RAM y la partición de intercambio del disco duro se llama “swapping”. Es una característica muy importante de cualquier sistema operativo avanzado, sin embargo, si la computadora está continuamente realizando esta tarea, nuestro rato delante de la pantalla puede convertirse en un infierno en el que el disco duro no para de crujir ni un momento.

Para esto existen soluciones como usar alternativas de software más ligeras a los entornos gráfico Gnome o KDE como puede ser XFCE, usar un navegador de archivos como Rox, o conseguir más memoria. Con 512M no deberíamos tener ningún problema.
Bueno, después de esta introducción, vayamos al tema.

Abrimos una terminal y escribimos lo siguiente:

$ cat /proc/sys/vm/swappiness

El resultado es un número entre 0 y 100 que nos dice la tendencia que tiene el kernel a transferir memoria no usada a la partición de intercambio. A valor más alto, más swapping. El valor por defecto en Ubuntu y en la mayoría de las distribuciones es 60.
Para cambiar este valor en cualquier momento, por ejemplo a 10 hacemos:
$ sudo sysctl vm.swappiness=10

Abrimos y cerramos unas cuantas aplicaciones y según el caso se puede notar una gran mejora a la respuesta que nos dan las aplicaciones. A mi máquina puedo decir que le ha sentado estupendamente ;)
Si estamos conformes con este valor, solo queda fijarlo para que sea el que se defina al arrancar editando el archivo /etc/sysctl.conf

Añadimos una línea como esta:

vm.swappiness=10

Y tunning terminado

En la guía no oficial de ubuntu nos explican esta optimización y otras más en la sección Optimizar escritorio. Bueno, los mismos trucos sirven también para otras distribuciones.

Qué escribir

14/3/2006 - -

Averiguar titular de un número de teléfono

Reflexión de Richard Stallman acerca de Hugo Chávez

Populares y socialistas en contra del software libre

FON: Revolución en la red

Las 4B en venta: blog bueno bonito barato

Harto de las emisoras nacionales

Consultores hostelería: nTPV

Plugin Wordpress: wp-pager