カーネル設定(sysctl)で次のパラメータが見つかりました。
vm.min_free_kbytes
これは、何があっても常に使用できる空きメモリ(RAM)の量です。私の場合、RAMは1GiBしかなく、このパラメータは約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.
デフォルトでは、低い値に設定するとメモリ割り当ての問題が発生します。