OOM-killer

来源:互联网 发布:过山车大亨3 mac 汉化 编辑:程序博客网 时间:2024/05/01 20:54
这两天测试环境的项目经常挂掉,此项目task是使用quartz定时调度spark做数据统计,使用top命令发现一旦触发spark,吃内存特别厉害,所以触发OOM-killer杀死task
查看日志/var/log/messages发现" kernel: Out of memory: Kill process 17268 (java) score 296 or sacrifice child"错误
简介
OOM-killer:Out-of-Memory (OOM) Killer是一种保护机制,用于当内存严重不足时,为了系统的继续运转,内核迫不得已挑选一个进程,将其杀死,以释放内存,缓解内存不足的问题。

OOM Killer的关闭与激活方式:
# echo "0" > /proc/sys/vm/oom-kill
# echo "1″ > /proc/sys/vm/oom-kill

可用 top M 查看最消耗内存的进程,但也不是进程一超过就会触发oom_killer
参数/proc/sys/vm/overcommit_memory可以控制进程对内存过量使用的应对策略
当overcommit_memory=0 允许进程轻微过量使用内存,但对于大量过载请求则不允许(默认)
当overcommit_memory=1 永远允许进程overcommit
当overcommit_memory=2 永远禁止overcommit

0 0
原创粉丝点击