Linux 云服务器在内存使用率未占满的情况下触发了 OOM(Out Of Memory)。如下图所示:
可能是由系统可用内存低于 min_free_kbytes
值导致。min_free_kbytes
值表示强制 Linux 系统最低保留的空闲内存(Kbytes),如果系统可用内存低于设定的 min_free_kbytes
值,则默认系统启动 oom-killer 或强制重启。具体行为由内核参数 vm.panic_on_oom
值决定:
vm.panic_on_oom=0
,则系统会提示 OOM,并启动 oom-killer 杀掉占用最高内存的进程。vm.panic_on_oom =1
,则系统会自动重启。min_free_kbytes
值设置,并修改为正确配置。min_free_kbytes
值。sysctl -a | grep min_free
min_free_kbytes
值单位为 kbytes,下图所示 min_free_kbytes = 1024000
即为1GB。
4. 执行以下命令,使用 VIM 编辑器打开 /etc/sysctl.conf
配置文件。
vim /etc/sysctl.conf
vm.min_free_kbytes
配置项。若该配置项不存在,则直接在配置文件中增加即可。说明建议修改
vm.min_free_kbytes
值为不超过总内存的1%即可。
sysctl -p
本页内容是否解决了您的问题?