mfr*_*man 28 linux troubleshooting memory
最近,我在kern.log
我的一台服务器中注意到了这样的条目:
Feb 16 00:24:05 aramis kernel: swapper: page allocation failure. order:0, mode:0x20
Run Code Online (Sandbox Code Playgroud)
我想知道:
交换使用率非常低(小于 10%),到目前为止我还没有注意到任何进程因为内存不足而被杀死。
附加信息:
Mat*_*nry 16
Debian 错误 666021似乎是对同一问题的报告。那里的建议是:
#change value for this boot
sysctl -w vm.min_free_kbytes=65536
#change value for subsequent boots
echo "vm.min_free_kbytes=65536" >> /etc/sysctl.conf
Run Code Online (Sandbox Code Playgroud)
http://russ.garrett.co.uk/2009/01/01/linux-kernel-tuning/有一些关于何时更改此设置可能有用的讨论,转载在这里:
这告诉内核始终尝试保持 64MB 的 RAM 空闲。它在两种主要情况下很有用:
无交换机器,您不希望传入的网络流量压倒内核并在它有时间刷新任何缓冲区之前强制 OOM。
x86 机器,出于同样的原因:x86 架构只允许低于大约 900MB RAM 的 DMA 传输。因此,您最终可能会遇到 OOM 错误的奇怪情况,并且有大量可用的 RAM。
我在我的 3.2.12-gentoo x86 机器上应用了这个设置,但我仍然收到这些错误。