¿Qué pasaría si la cantidad de memoria libre (vm.min_free_kbytes) fuera demasiado baja?

¿Qué pasaría si la cantidad de memoria libre (vm.min_free_kbytes) fuera demasiado baja?

Encontré el siguiente parámetro en la configuración del kernel (en sysctl):

vm.min_free_kbytes

Esta es la cantidad de memoria libre (RAM) que siempre está libre pase lo que pase. En mi caso, solo tengo 1 GiB de RAM y este parámetro se configuró en aproximadamente 64MiB. Pensé que era bastante alto, así que lo bajé a 8MiB hasta ahora. No sé si puedo reducirlo más, o si reducirlo a 8MiB puede causar algún problema, entonces la pregunta es ¿qué pasaría si la cantidad de memoria libre fuera demasiado baja? ¿Puedo reducir el valor de forma segura a 1MiB?

Respuesta1

Debería ser seguro pero no puedo garantizarlo. De los documentos del kernel:

min_free_kbytes:

This is used to force the Linux VM to keep a minimum number
of kilobytes free.  The VM uses this number to compute a
watermark[WMARK_MIN] value for each lowmem zone in the system.
Each lowmem zone gets a number of reserved free pages based
proportionally on its size.

Some minimal amount of memory is needed to satisfy PF_MEMALLOC
allocations; if you set this to lower than 1024KB, your system will
become subtly broken, and prone to deadlock under high loads.

Setting this too high will OOM your machine instantly.

Básicamente, si lo configuras en bajo tendrás problemas con la asignación de memoria.

información relacionada