Optimizando el rendimiento de nuestro Linux con Cache Pressure

Por defecto el Kernel Linux viene configurado para trabajar en el mayor número de equipos diferentes, principalmente servidores pero también equipos domésticos.  Eso hace que su configuración sea un poco “conservadora” en cuanto a su capacidad de sacar todo el rendimiento en pro de la estabilidad. A nadie le gusta la idea de que un servidor que atiende millones de peticiones por segundo pierda “la concentración” y genere un pequeño desastre, ¿verdad?

server-hosting

Si queremos mejorar el rendimiento de nuestro PC de escritorio podemos usar Cache Pressure. Es muy similar a swappiness que utiliza la SWAP o memoria virtual de nuestro equipo cuando la RAM comienza a escasear.  La diferencia es que Cache Pressure controla el dinamismo con los swaps del kernel a su caché, pero sólo para los sistemas de archivos. Dicho de otra forma, cuando una aplicación ocupa nuestra RAM, Cache Pressure se encarga de purgar la RAM libre. Su configuración se define de un valor entre 0 y 100, que cuanto mayor sea, más le gustará al kernel mover datos “sin usar” de memoria (RAM) a disco. Por defecto está a 100, es decir, el 100% sobre el desempeño en la gestión de los archivos del disco. Poniendo cache pressure a 50, reduce en un 50% el uso de cache en el disco duro para usar directamente en la RAM.

Lo primero que debemos hacer es comprobar la configuración inicial de cache_pressure (por defecto 100 %)

sudo cat /proc/sys/vm/vfs_cache_pressure

Pasamos el valor al 50% y abrimos un par de aplicaciones para probar que todo funciona correctamente.

sudo sysctl -w vm.vfs_cache_pressure=50

Si es así. Lo siguiente es hacer permanente el cambio. Editaremos el fichero:

sudo pico /etc/sysctl.conf

Al final añadimos la siguiente linea y guardamos.

vm.vfs_cache_pressure=50

Y ya está. Con esto habremos mejorado un poco más el rendimiento de nuestro sistema.

Comparte esta entrada: