Buenas a todos de nuevo. En esta guía os hablaré de cómo Linux es capaz de usar el archivo de intercambio de memoria (Swap) para sus propios fines, y cómo modificar los parámetros que dominan esa característica, a partir de la modificación de un archivo en concreto. Recomiendo encarecidamente la realización de este tutorial a todos aquellos usuarios que dispongan de una distribución Linux bajo unas condiciones de memoria RAM muy estrictas (2 GB o menos) y un disco duro mecánico/SSD (ya que, con los pasos de este tutorial, se reducirán enormemente las escrituras en estos medios, especialmente en las unidades de estado sólido). Pero, vamos primero con lo fundamental:
¿Qué es el Swap?
La partición/archivo Swap ( o de intercambio de memoria) es el método que utiliza el sistema operativo para poder subsistir en los casos en los que la memoria RAM se llene por completo. En estos casos, dicho sistema descarga parte de los procesos de la RAM a este componente, con el fin de poder "hacer espacio" para que puedan ejecutarse otros programas. Por lo general, el tamaño de este archivo es igual al de la memoria RAM que se tenga instalada en el ordenador en ese momento. Sin embargo, viendo lo que he visto en los últimos años con Lubuntu/Ubuntu/Linux Mint, veo conveniente explicar que, pasado un cierto límite de memoria RAM (aunque no se llene del todo), este tipo de distribuciones empiezan a "darle caña" al Swap como si no hubiera un mañana, provocando una mayor sensación de lentitud en el sistema operativo. Eso sí, podemos quitar esa sensación con una palabra mágica:
SWAPPINESS
Este parámetro es el que mide la tendencia del sistema operativo de usar la Swap. Se mide en un valor de 1 a 100, siendo 1 el valor por el cual el sistema operativo usará el Swap únicamente en casos extremos (99% de la RAM ocupada) y 100 el valor por el cual la distribución usará la Swap todo el rato. Para ver este valor en tu distribución, abre una Terminal, teclea esto, y pulsa Intro:
cat /proc/sys/vm/swappiness
Por regla general, en las distros derivadas de Ubuntu, este valor es de 60, por lo que, cuando se llegue al 40% de memoria RAM ocupada por el SO y los programas activos, se dará cancha al uso del Swap. Habitualmente es posible llegar a ese valor, por lo que, lo ideal sería modificar este valor de Swappiness para así evitar escrituras innecesarias en el disco duro/SSD, y sensación de lentitud a la hora de navegar entre programas. Para ello, ejecutamos los siguientes comandos, de nuevo en la Terminal (yo he usado gedit para esto, pero podéis cambiar el bloc de notas comentado por cualquier otro) y pulsando Intro para ejecutar cada una de estas órdenes:
gedit admin:///etc/sysctl.conf
Ve hacia el final del archivo sysctl.conf (no toques nada del resto del archivo), y añade estas líneas
#Disminuye el valor de swap a un valor más razonable
vm.swappiness=1
Pongo el valor de 1, ya que es el valor recomendado para los SSD (así se evitan escrituras y agotamiento de la vida útil del componente), pero en los HDD también vale esto ;) Guarda el archivo, cierra el editor, y reinicia el ordenador. Luego, vuelve a ejecutar:
cat /proc/sys/vm/swappiness
Y ya debería salir el valor de 1.
Y con esto finaliza el tutorial. Disfrutad de la fluidez alcanzada :) Si queréis preguntar algo, no dudéis en hacerlo en los comentarios.
Hola Gracias por tu tutorial Ruben, Tengo Kde Neon sin swapp y Ubuntu 18.04 como segunda distro , nada mas ver tu tutorial lo he puesto en marcha y funciona correctamente , esta muy claros todos los pasos ,. Creo que ahora con los ordenadores mas modernos , en mi caso mi Slimbook es de 16 Ram , es una contradiccion el valor de entrada del swapp sea tan alto , es imprescindible bajar esos valores para aprovechar la Ram en todo su potencial, tendria que tener otros valores mas bajos , ya de serie .Tengo una duda ¿Este cambio se conservara en las siguientes actualizaciones , o por el contrario hay que revisar el valor en cada actualizacion?
Graciasy saludos.
Pedro.L