Ajustando algunos valores del caché de disco en linux

No es la primera vez que juego con la memoria virtual de linux o swap. Conforme pasa el tiempo mi situación se ve afectada por diversos factores. Por ejemplo, en este año he dejado el entorno Cinnamon por un entorno mucho más ligero, austero pero funcional y que es el entorno elegido por Manjaro como su escritorio principal el famoso XFCE.

El cambio lo hice sin reinstalar el sistema operativo. Eso me incomoda un poco, porque tal parece que he dejado instalados muchos paquetes de Gnome/Cinnamon que están realizando alguna función (al menos eso espero). Me explico, instalar XFCE es sencillo, una instrucción y san se acabó, pero quitar Cinnamon no es tan fácil, porque tendría que desinstalar muchos paquetes y eso genera un conflicto con las dependencias. Así que ahora tengo un sistema XFCE con vestigios de Gnome y Cinnamon.

Eso sí, el sistema es ligero, instalé Compiz para algunas animaciones chulas pero sin abusar. Algunos ajustes por aquí, por allá y después de unas semanas tengo un sistema muy de mi agrado.

La RAM está para usarse.

El problema viene cuando utilizo muchos programas demandantes de memoria. Tengo 8GB en RAM que no es poco, pero cuando inicio una máquina con VirtualBox, abro una aplicación que utiliza JAVA y tengo que editar una imagen en alta resolución con GIMP el sistema empieza a parir chayotes.

Los accesos al disco duro son tan intensos que deja inutilizable el sistema. Eso pasa porque el sistema intenta superar la carga con la memoria virtual.

Anteriormente he intentado Desactivar la partición swap y funciona perfectamente hasta que alcanzo un punto crítico. El sistema no sabe qué hacer y todo se alenta. Supongo que con 16 o 32 GB en RAM el sistema estaría mucho más holgado. Así que he dejado de usar este consejo, siempre tengo activada una partición swap.

Luego está moverle al valor swappiness. De esa forma no evito el uso de la memoria virtual, solo cuando es estrictamente necesario y como último recurso. Lo que se puede observar es una memoria RAM muy ocupada y la swap casi sin utilizar. Pero eso sí, cuando se necesita más memoria el acceso a la swap lo hace con una urgencia endemoniada.

Ajustes finos al caché de disco.

De vez en cuando me doy una vuelta a los foros oficiales de Manjaro para ver qué novedades hay (casi siempre las actualizaciones). Y buscando alguna optimización me encontré con How to reduce swapiness in manjaro linux.

Y me encontré con nuevos ajustes aparte del swapiness:

vm.dirty_ratio = 10
vm.dirty_background_ratio = 5
vm.dirty_expire_centisecs = 2000
vm.dirty_writeback_centisecs = 1000
vm.swappiness = 20
vm.vfs_cache_pressure = 70

Para activarlos solo hay que agregar estos valores en el archivo /etc/sysctl.d/100-manjaro.conf  (si no existe se puede crear) y se activan después de reiniciar el equipo.

Una explicación a estos valores los encontré en el artículo: Better Linux Disk Caching & Performance with vm.dirty_ratio & vm.dirty_background_ratio, que explica todo a profundidad y da algunos consejos.

configuración de manjaro y gestor de tareas | caché de disco
Esta es mi configuración de pruebas inicial.

Para empezar dejé el valor wm.swapiness con un valor de 60  y lo iré ajustando hasta encontrar un valor que me agrade.

Si aplican estos ajustes me gustaría leer sus comentarios. ¡Hasta la próxima!

2 comentarios en “Ajustando algunos valores del caché de disco en linux”

  1. Un artículo muy interesante y en el que también hay que tener en cuenta el tipo de disco duro que tenemos. Por ejemplo, si tenemos un SSD y creamos en esta unidad el swap, lo estaremos sometiendo a interminables sesiones de escritura/lectura si tenemos un valor de swappiness alto. De este modo terminaremos acortando la vida útil de nuestro disco SSD.

    Yo soy de esos que opina que el swap está para usarlo, pero sólo cuando nos quedamos sin memoria, por eso soy más de usar valores de swappines muy bajos. En mi caso con un disco SSD, un valor de 60 es demasiado.

    Gracias por el artículo y las aclaraciones, hay algunos puntos que no conocía. Saludos.

    Responder

¡Me encantaría saber que opinas!

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.