博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux killed
阅读量:7145 次
发布时间:2019-06-29

本文共 725 字,大约阅读时间需要 2 分钟。

hot3.png

OS:cent os 6.5

日志路径:/var/log/messages

服务器上跑的一个程序,发现报了Killed。查看/var/log/messages里的日志,发现以下报错:

[plain] view plain copy

Aug 11 16:28:11 kernel: Out of memory: Kill process 3080 (forward) score 559 or sacrifice child  Aug 11 16:28:11 kernel: Killed process 3080, UID 0, (forward) total-vm:1429064kB, anon-rss:1130444kB, file-rss:136kB

原来linux下也有内存OOM的处理,不同于android 杀掉报OOM的进程,linux是杀掉当前最占用内存的进程。

当linux报OOM时,意味着整个系统的内存已经不足,如果不杀死进程的话,就会导致系统的崩溃。每个进程都会存有一个oom_score的参数,比如输出pid为988的oom_score:

[plain] view plain copy

cat /proc/988/oom_score

OOM Killer 会在系统报OOM的时候,杀死当前score最高的进程,一般情况也就是占用内存最大的进程。

解决方法:一是增加系统内存,二是优化进程,使其占用内存降低。三是可以使用oom_score_adj参数,这个参数会被计算入oom_score,可以避免进程被杀死(不推荐使用)。

转载于:https://my.oschina.net/u/3726752/blog/1612553

你可能感兴趣的文章
.net基本数据类型操作
查看>>
docker 应用-2(Dockerfile 编写以及镜像保存提交)
查看>>
ubuntu 下安装查看pdf的工具
查看>>
UIApplication深入研究
查看>>
解决Ubuntu 12.04更新后 ”系统的网络服务与此版本的网络管理器不兼容“问题
查看>>
python变量
查看>>
牛顿迭代法
查看>>
mac os 中类似于Linux的yum工具,或ubuntu的apt-get工具Homebrew
查看>>
一种美-无法言语
查看>>
Unity场景渲染相关实现的猜想
查看>>
面向对象编程(十四)——面向对象三大特性之多态①
查看>>
单例模式
查看>>
Android 数据库 LiteOrm 的使用
查看>>
hibernate 缓存
查看>>
AES-GCM算法
查看>>
Apache Pulsar简介
查看>>
用Canvas写一个炫酷的时间更新动画玩玩
查看>>
分享一下上个星期的香港行程
查看>>
HUT-1675 找啊找啊找GF DP
查看>>
使用jQuery插件jScrollPane开发Mac OSX Lion风格的滚动条
查看>>