Linux 下的 Out of memory
解决这个问题最简单的办法就是增加内存,或者想办法优化 应用程序(例如:MySQL) 使其占用更少的内存,还有一个临时的办法就是调整内核参数。
1、查看low 使用情况
[root@localhost vm]# free -lm
total used free shared buffers cached
Mem: 988 844 144 0 64 565
Low: 988 844 144
High: 0 0 0
-/+ buffers/cache: 214 774
Swap: 1983 0 1983
2、解决方法
a: 释放内存(临时操作)
#echo 3 > /proc/sys/vm/drop_caches
说明:配置文件/proc/sys/vm/drop_caches。这个文件中记录了缓存释放的参数,默认值为0,也就是不释放缓存。他的值可以为0~3之间的任意数字,代表着不同的含义:
0 – 不释放
1 – 释放页缓存
2 – 释放dentries和inodes
3 – 释放所有缓存
b: 关闭 OOM killer (临时关闭),(默认为1,即激活)
echo 0 > /proc/sys/vm/oom_dump_tasks
永久生效
修改/etc/sysctl.conf,增加: vm.oom-kill = 0
重启或执行sysctl -p即可生效。
提示:服务器负载: uptime 命令