我在具有 64MB 物理 RAM 的嵌入式设备上运行 Linux。Linux 在启动时打印以下消息:
[ 0.000000] Memory: 58944K/65536K available (3072K
kernel code, 576K rwdata, 832K rodata, 1024K init,
192K bss, 6592K reserved, 0K cma-reserved)
6592K 的“保留”内存用于什么?是否可以手动更改此值?我似乎无法在互联网上找到对此的任何令人满意的解释。
这答案表明“保留”内存由设置/proc/sys/vm/min_free_kbytes
。但是,在我的系统上,这会打印 971 而不是 6592。
cat /proc/sys/vm/min_free_kbytes
971
写入新值只会改变命令显示的内存/proc/sys/vm/min_free_kbytes
量。available
free
# free -k
total used free shared buff/cache available
Mem: 59968 7036 48132 40 4800 49616
Swap: 0 0 0
# echo 64 > min_free_kbytes
# free -k
total used free shared buff/cache available
Mem: 59968 6900 48264 40 4804 52612
Swap: 0 0 0
#