Cache Pressure: optimiza el rendimiento de LInux

Icono RAMDisk

Cache Pressure  nos puede ayudar a mejorar el rendimiento de nuestra distribución GNU Linux. Con Cache Pressure podremos optimizar nuestra memoria RAM, ya que con esta opción se puede modificar la manera en la que el kernel introduce bloques de datos en la memoria principal. Ten en cuenta que podemos hacer mil cosas para configurar nuestro kernel y nuestro sistema para que se adapte mejor al equipo.

Apple oferta hardware y software, por tanto el sistema operativo está muy optimizado para dicho hardware. Por el contrario encontramos que otros sistemas como las distros Linux o Android deben funcionar en multitud de combinaciones de hardware para las que no están optimizadas, no obstante funcionan correctamente y en ocasiones hasta de mejor manera que iOS o Mac OS X en ciertas tareas concretas. Ocurre lo mismo con OS X cuando intentamos instalarlo en un PC, habremos comprobado que no va tan fino como lo haría en una máquina Mac…

Pues bien, en Linux podemos usar multitud de opciones para mejorar el rendimiento. Su flexibilidad permite que podamos optimizarlo al máximo y las opciones son tan amplias que es difícil de citar todas. Podemos usar configuraciones de Swappines, eliminar módulos del kernel innecesarios, hacer una configuración profunda del núcleo para instalarlo de forma más limpia, tirar de ficheros config, etc.

Una de ellas es la que te presentamos aquí, Cache Pressure. Si hacemos unos pequeños cambios, notaremos una mejora de rendimiento al usar programas, al manejo cotidiano del sistema o al abrir vídeos o contenido multimedia. Cache Pressure trae por defecto el valor 100, y se puede variar entre 0 y 100, por tanto es la cifra máxima. Esto quiere decir que el kernel mueve más datos  que no se van a usar inmediatamente desde la memoria RAM a la partición SWAP del disco duro.

Si cuentas con mucha RAM, 16GB o más puedes optar por poner un número cercano a 100 o dejar el valor por defecto, pero si no tienes demasiada (< 4GB), quizás un número tan elevado haría que la RAM estuviese demasiado ocupada… Intentaremos con un valor 50 así:


sudo sysctl -w vm.vfs_cache_pressure=50

Así ponemos el valor 50 con la primera línea y podemos probar si el rendimiento ha mejorado (abre vídeos, aplicaciones, etc), si así fuese,  lo hacemos permanente con:



sudo gedit /etc/sysctl.conf

Y editamos la línea añadiendo al final:


vm.vfs_cache_pressure=50

Guardamos los cambios y ahora puedes comprobar el cambio con:


sudo cat /proc/sys/vm/vfs_cache_pressure

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: AB Internet Networks 2008 SL
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Turbo dijo

    ¡Hola, muy útil! Puede tener algún tipo de contraindicación asociada tipo fallo de seguridad o de rendimiento en tareas concretas?

    1.    Isaac P. E. dijo

      Hola, ¿Por qué lo preguntas? ¿Por los volcados de memoria, por…?

      Saludos!

      1.    Turbo dijo

        No lo sé, a veces pueden tener efectos adversos este tipo de cosas.
        Ya lo tengo corriendo y va muy bien, gracias por compartir :)

  2.   Señor Paquito dijo

    Es interesante esto. Lo que no acabo de tener claro es el beneficio en el rendimiento en máquinas pequeñas y en máquinas suficientes o sobradas.

    Yo uso Ubuntu 14.04, tengo 8GB de RAM y he reservado 2GB de SWAP. El sistema está instalado en un SSD, pero la SWAP la dejé en el HDD (de esto me arrepiento porque, para lo poco que entra en funcionamiento, bien podría haberse quedado en el SSD; en la próxima instalación, con seguridad, se quedará en el SSD). Los temporales los envío a la RAM.

    Siempre había oído hablar de modificar la Cache Pressure para máquinas pequeñas, normalmente con un valor de 50, pero nada había leído sobre hacerrlo en máquinas más o menos potentes. y tengo tres preguntas, si me lo permitís:

    De verdad puede ser recomendable hacerlo en una máquina potente?

    Es realmente útil para máquinas pequeñas?

    Que es lo que se puede monitorizar para ver objetivamente donde está la mejora o el perjuicio?

    Saludos y gracias.

    1.    Isaac P. E. dijo

      Hola,

      La SWAP en el SSD es mucho mejor sí…

      En cuanto a tus dudas, ha sido un fallo de redacción mío. Ya está solucionado.

      A tu pregumta 1: No tendría mucho sentido si vas sobrado de RAM.

      A tu pregunta 2: Sí, porque evitas cargar demasiados datos innecesarios y dejar espacio para lo más demandado en cada momento…

      A tu pregunta 3: Puedez hacer una prueba con una máquina con pocos recursos con el valor por defecto y luego mofificarlo para ver la diferencia, por ejemplo cronometrando el tiempo de carga de una aplicación, la apertura de ficheros multimedia, etc.

      Un saludo!!!

  3.   Señor Paquito dijo

    Ahora ya me queda más claro, ya me parecía a mi que en una máquina actual, bien dotada de RAM, no debería tener sentido.

    Tengo un portátil limitadito de micro y de RAM que es el equipo ideal para probarlo.

    Probaré, a ver.

    Muchas gracias.

    1.    Señor Paquito dijo

      Hola, otra vez.

      Justo después de escribir el comentario anterior lo he mirado en el portátil y, sorpresa, ya lo tenía hecho.

      Y ahora lo recuerdo. Había mirado hace tiempo la siguiente entrada del blog Ubuntu León:

      http://www.ubuntuleon.com/2013/08/parametros-del-sysctlconf.html

      Y apliqué las modificaciones. En el portátil de marras tengo Xubuntu 14.04 con las modificaciones que indica el post y mal no va. El principal problema que tengo es que Chrome tiene una tendencia a quedarse colgado, el disco se pone a escribir como loco con según que cosas y bloquea el equipo, no hay manera. Firefox iba mejor, pero aún así le quité la caché a disco y algo ha mejorado, pero en Chrome no puede hacerse, yo no sé hacerlo, por lo menos.

      Saludos.

      1.    Isaac P. E. dijo

        Hola!

        Sí, Chrome tiene una inusual hambre de RAM y esto perjudica a este tipo de programas con gran apetito de RAM.

        http://www.linuxadictos.com/los-mejores-navegadores-web-para-linux.html

        Un saludo!

  4.   Leopoldo Cantillo dijo

    Muy interesante este artículo, muy práctico, voy a probar en mi portátil, con 4Gb de RAM, y un disco SDD de 64 Gb. Solo tengo una duda, esto no afecta la vida útil del disco SDD, no sobrecarga las escrituras en el SWAP ?, esto lo pregunto porque cuando instalé este disco, leí varios tutoriales y foros para optimizarlos en Linux, (eso ya hace 2 años), y en algunos recomendaban hasta no usar SWAP. Pero también entiendo que con las últimas versiones del kernel y en general en las distros modernas, Trim y varias cosas ya se adaptan automáticamente al entorno con discos SDD, y los discos mismos traen un mejor control interno, algún conocedor del tema me puede aclarar como estamos actualmente.
    Gracias por el artículo.

    1.    Señor Paquito dijo

      Había respondido antes, pero como no veo el comentario, comento de nuevo. Es decir, si veis que aparecen dos comentarios míos diciendo más o menos lo mismo, será por eso.

      La cosa es que yo creo que hoy en día se sabe lo suficiente sobre los SSD como para no preocuparse por las escrituras que pueda hacer la SWAP. Es decir, se han hecho pruebas reales, estresando discos SSD hasta extremos que no alcanzaríamos usuarios normales en muchísimos años, por mucha caña que le diésemos. Puedes leer sobre esto aquí, por ejemplo:

      http://www.muycomputer.com/2014/12/05/test-de-resistencia-ssd

      Ojo, que estos test se refieren a discos relativamente actuales, con modelos antiguos no sabría decirte. Pero a la vista de los resultados, todo parece indicar que cualquier disco reciente duraría mucho más de lo que tardaremos en cambiar de ordenador.

      Cuando yo hice mi instalación actual (que fué a mediados del año pasado, tampoco hace tanto) la información que había no era clara y todo el mundo estaba obsesionado con reducir al máximo las escrituras en el SSD, pero ahora se sabe que no hay razón para obsesionarse con eso. De hecho, hasta estoy valorando muy seriamente cambiar mi SWAP al SSD; he estado leyendo sobre el asunto y no parece ser demasiado difícil, pero veo que no todo el mundo lo hace igual, no sé cual método será mejor, por ejemplo:

      http://www.atareao.es/ubuntu/cambiando-swap-de-particion-en-ubuntu/

      o también

      http://foro.ubuntu-guia.com/Cambiar-particion-SWAP-en-UBUNTU-12-04-td4023366.html

      Así que aprovecho para agradecer ayuda con esto por aelantado.

      Saludos.

    2.    Señor Paquito dijo

      Había respondido antes, pero como no veo el comentario, comento de nuevo. Es decir, si veis que aparecen dos comentarios míos diciendo más o menos lo mismo, será por eso.

      La cosa es que yo creo que hoy en día se sabe lo suficiente sobre los SSD como para no preocuparse por las escrituras que pueda hacer la SWAP. Es decir, se han hecho pruebas reales, estresando discos SSD hasta extremos que no alcanzaríamos usuarios normales en muchísimos años, por mucha caña que le diésemos. Puedes leer sobre esto aquí, por ejemplo:

      http://www.muycomputer.com/2014/12/05/test-de-resistencia-ssd

      Ojo, que estos test se refieren a discos relativamente actuales, con modelos antiguos no sabría decirte. Pero a la vista de los resultados, todo parece indicar que cualquier disco reciente duraría mucho más de lo que tardaremos en cambiar de ordenador.

      Cuando yo hice mi instalación actual (que fué a mediados del año pasado, tampoco hace tanto) la información que había no era clara y todo el mundo estaba obsesionado con reducir al máximo las escrituras en el SSD, pero ahora se sabe que no hay razón para obsesionarse con eso. De hecho, hasta estoy valorando muy seriamente cambiar mi SWAP al SSD; he estado leyendo sobre el asunto y no parece ser demasiado difícil, pero veo que no todo el mundo lo hace igual, no sé cual método será mejor, por ejemplo:

      «http://www.atareao.es/ubuntu/cambiando-swap-de-particion-en-ubuntu/»

      o también

      «http://foro.ubuntu-guia.com/Cambiar-particion-SWAP-en-UBUNTU-12-04-td4023366.html»

      Así que aprovecho para agradecer ayuda con esto por aelantado.

      Saludos.

  5.   dhouard dijo

    Hola, ¿tiene ésto alguna contraindicación o afecta de alguna manera si ya tienes asignado un valor bajo a la varibale vm.swapiness?.

    Tengo actualmente asignado un valor 10 a dicha variable del kernel y el rendimiento es bastante bueno. No se si al modificar la cache_pressure descoloraré algo o podre exprimir un poquito más mi máquina.

    1.    Señor Paquito dijo

      Yo he leído no hace mucho que se hicieron pruebas reales de uso de discos SSD metiéndoles caña hasta extremos que difícilmente alcanzaremos ningún usuario de PC, por mucho que lo usemos en el día a día, y la conclusión que sacaban es que resultaron ser bastante más resistentes de lo que se creía. Una noticia al respecto es la siguiente:

      http://www.muycomputer.com/2014/12/05/test-de-resistencia-ssd

      Como parece que resisten mucho más de lo que se creía (y yo tengo un SAMSUNG 840 PRO, que sale muy bien parado en el test), creo que lo más recomendable es aprovecharlos al máximo, y utilizar la velocidad de estos discos para que la SWAP no sea un lastre me parece buena idea (claro está, sabiendo esto).

      Desde luego, en el momento en que yo hice la instalación que tengo ahora todo el mundo recomendaba tratarlos con cuidado y reducir las escrituras al máximo, pero no creo que eso sea necesario a la vista de estos datos, más bien todo lo contrario, es decir, que mejor aprovecharlos.

      Con seguridad, la próxima instalación que haga (la 16.04 si todo va bien) tendrá la SWAP en el SSD, pero incluso estoy pensando en moverla ya, porque he estado leyendo por ahí como se hace y no parece que sea excesivamente difícil, aunque he visto diferentes maneras de hacerlo y no sé cual es la buena, por ejemplo:

      http://www.atareao.es/ubuntu/cambiando-swap-de-particion-en-ubuntu/

      o también

      http://foro.ubuntu-guia.com/Cambiar-particion-SWAP-en-UBUNTU-12-04-td4023366.html

      Aprovecho para agradecer asesoramiento por adelantado sobre esto, si me lo permitís.

  6.   Señor Paquito dijo

    Disculpadme por tanto comentario.

    De verdad que no aparecían y ahora salen todos de golpe.

    Lo siento.

  7.   Joaquin García dijo

    No pasa nada Sr. Paquito. Respecto a lo último que comentas, es cierto que los últimos SSD no se ven afectados en demasía por el alto número de escrituras, sin embargo cuando se habla de discos SSD se habla de todos y no sólo de los actuales. Yo uso un disco SSD pero es algo antiguo y no quiero probar si es resistente o no por miedo a que se rompa, pero por lo demás funciona muy bien y me salió barato. Incluso los discos actuales, hay algunos que no son resistentes a tantas escrituras. Por eso, para casos como el tuyo, es mejor que elijas tu y en general advertir sobre el mal uso ya que aún hay muchos novatos en el mundo Gnu/Linux.
    Un saludo y comenta y escribe todo lo que quieras ;)

    1.    Señor Paquito dijo

      Por eso ya decía que el test de marras se refiere a discos actuales y Muy Computer me parece un sitio serio, que no acostumbra a publicar cosas con ligereza. El mío, de hecho, es un SAMSING 840 PRO, que sale muy bien parado en el test. No me salió especialmente barato, exactamente a un euro por GB, pero me parece una de las mejores inversiones que hice.

      Obviamente, con discos más antiguos o de calidades inferiores igual hay que pensárselo más, pero a tenor de los datos que se van conociendo, cada vez parece más claro que son más resistentes de lo que se creía.

  8.   Paquito Turriano dijo

    No me funciona :-(

    turriano@turriano-Lenovo-B50-30:~$ sudo gedit /etc/sysctl.conf
    [sudo] contraseña para turriano:
    sudo: gedit: orden no encontrada
    turriano@turriano-Lenovo-B50-30:~$ sudo gedit/etc/sysctl.conf
    sudo: gedit/etc/sysctl.conf: orden no encontrada
    turriano@turriano-Lenovo-B50-30:~$

  9.   Franco dijo

    La explicación que das de lo que hace el cache pressure es pésima. O te explicas muy mal o no tienes ni idea que hace cache pressure.