O que aconteceria se a quantidade de memória livre (vm.min_free_kbytes) fosse muito baixa?

O que aconteceria se a quantidade de memória livre (vm.min_free_kbytes) fosse muito baixa?

Me deparei com o seguinte parâmetro nas configurações do kernel (em sysctl):

vm.min_free_kbytes

Esta é a quantidade de memória livre (RAM) que está sempre livre, não importa o que aconteça. No meu caso, tenho apenas 1 GiB de RAM e esse parâmetro foi definido para cerca de 64 MiB. Achei que era muito alto, então baixei para 8MiB até agora. Não sei se posso reduzi-lo ainda mais ou se reduzi-lo para 8 MiB pode causar algum problema, então a questão é o que aconteceria se a quantidade de memória livre fosse muito baixa? Posso reduzir com segurança o valor para 1MiB?

Responder1

Deve ser seguro, mas não posso garantir isso. Dos documentos do 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.

Essencialmente, se você definir como baixo, terá problemas com a alocação de memória.

informação relacionada