5.5. Ajuste de memoria virtual
La memoria virtual suele ser consumida por procesos, cache de sistema de archivos y el kernel. El uso de la memoria virtual depende de un número de factores que pueden afectarse mediante los siguientes parámetros:
swappiness
- Un valor de 0 a 100 que controla el punto en el que cambia el sistema. Un valor alto da prioridad al rendimiento del sistema, al intercambiar de forma agresiva los procesos de memoria física cuando no están activos. Un valor bajo da prioridad a la interacción y evita el intercambio de procesos de memoria física por el tiempo que sea posible, lo cual decrece la latencia de respuesta. El valor predeterminado es
60
. min_free_kbytes
- El número mínimo de kilobytes a mantener libres a través del sistema. Este valor sirve para computar un valor de marca de agua para cada zona de memoria baja, a la cual se le asigna un número de páginas libres reservadas, proporcional a su tamaño.
Aviso
Sea cauteloso al establecer este parámetro, puesto que si los valores son demasiado altos o demasiado bajos pueden ocasionar daños.Si establece amin_free_kbytes
demasiado lento, evitará que el sistema reclame memoria. Esto hará que el sistema se cuelgue y ocasione procesos múltiples de OOM-killing.Sin embargo, si establece este parámetro a un valor demasiado alto (5-10 % de la memoria total del sistema) hará que la memoria de su sistema se agote inmediatamente. Linux está diseñado para usar todos los datos del sistema de archivos cache de RAM disponible. Si establece un valor demin_free_kbytes
hará que el sistema consuma mucho tiempo reclamando memoria. dirty_ratio
- Define un valor de porcentaje. La escritura de datos sucios comienza (a través de pdflush) cuando los datos sucios comprenden este porcentaje del total de memoria del sistema. El valor predeterminado es
20
. dirty_background_ratio
- Define un valor de porcentaje. La escritura de datos sucios comienza en el segundo plano (mediante pdflush) cuando los datos sucios comprimen este porcentaje de memoria total. El valor predeterminado es
10
. drop_caches
- Si establece este valor a
1
,2
, o3
hará que el kernel envíe varias combinaciones de cache de página y de cache de plancha.- 1
- El sistema invalida y libera toda la memoria de cache de página.
- 2
- El sistema libera toda la cache de plancha de memoria no utilizada
- 3
- El sistema libera toda la cache de página y la memoria cache de plancha.
Esta es una operación no destructiva. Puesto que los objetos sucios no pueden ser liberados, se recomienda la ejecución desync
antes de establecer el valor de parámetro.Importante
El uso dedrop_caches
para liberar memoria no se recomienda en un entorno de producción.
Para establecer estos valores de forma temporal durante el ajuste, ejecute con el comando 'echo' el valor deseado para el archivo apropiado en el sistema de archivos proc. Por ejemplo, para establecer temporalmente
swappiness
a 50
, ejecute:
# echo 50 > /proc/sys/vm/swappiness
Si desea establecer de forma persistente este valor, use el comando
sysctl
. Para obtener mayor información, consulte la Guía de implementación, disponible en http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/.