カーネル設定 (sysctl 内) で次のパラメータを見つけました。
vm.min_free_kbytes
これは、何があっても常に空いている空きメモリ (RAM) の量です。私の場合、RAM は 1 GiB しかなく、このパラメータは約 64MiB に設定されていました。これはかなり高いと思ったので、これまでは 8MiB に下げていました。これ以上下げられるかどうか、または 8MiB に下げると問題が発生するかどうかはわかりません。質問は、空きメモリの量が少なすぎるとどうなるかということです。値を 1MiB に下げても安全ですか?
答え1
安全であるはずですが、保証はできません。カーネルのドキュメントより:
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.
基本的に、これを低く設定すると、メモリの割り当てに問題が発生します。