Permitir pero desalentar el intercambio en Ubuntu

Permitir pero desalentar el intercambio en Ubuntu

Hay numerosas publicaciones sobre cómo deshabilitar completamente el intercambio de Ubuntu. ¿Es posible decirle a Ubuntu que permita pero desaliente el uso de intercambio?

Instalé Xubuntu en una computadora portátil con 1 Gb de RAM y un SSD pequeño, convirtiéndolo en un servidor Samba. En el peor de los casos, la memoria libre aún puede contener todos los datos de un archivo de intercambio:

~$ free -m
            total       used       free     shared    buffers     cached
Mem:           991        696        294         17         66        175
-/+ buffers/cache:        454        536
Swap:         1952        107       1845

Quiero desalentar el intercambio cuando hay memoria libre disponible, porque el intercambio realiza muchas escrituras de E/S que degradan el SSD rápidamente.

¿Es posible priorizar la RAM sobre el intercambio o la elección se limita a "activar/desactivar el intercambio"? ¿Qué efectos secundarios, si alguno, causa?


Gracias por señalar las respuestas existentes, son relevantes pero difíciles de encontrar. El usuario debe conocer el 90% de la respuesta para buscar "cómo configurar el intercambio". Pregunta respondida. Espero que este encabezado de pregunta ayude a la indexación.

Respuesta1

A menos que tenga un SSD bastante antiguo, los SSD medianamente modernos pueden manejar muchas escrituras, por lo que realmente no necesita hacer nada si tiene un SSD medianamente moderno.

Si aún desea reducir el intercambio, reduzca swappiness(el valor mínimo en Linux moderno es 1, no 0, si desea hacer todo lo posible, aunque 10es el mínimo recomendado y 60es el valor predeterminado de Ubuntu). Esto puede ralentizar mucho las cosas (hasta el punto de que el sistema puede congelarse durante bastante tiempo si está bajo una gran presión de memoria) cuando finalmente comienza el intercambio, ya que poco o nada se intercambiará antes de tiempo.

Para establecer swappiness, reemplace 10a continuación con lo swappinessque desee , 1donde 100los valores más bajos se intercambian con menos frecuencia. Abra una terminal (presione Ctrl+ Alt+T ) y ejecute:

sudo sysctl vm.swappiness=10
sudo nano /etc/sysctl.conf

Ahora, agregue una línea en la parte inferior (o si ya hay una vm.swappinesslínea, edítela):

vm.swappiness = 10

Presione Ctrl+ Opara guardar. Presione Ctrl+ Xpara salirnano . Cierra la ventana de la terminal.

información relacionada