OS:cent os 6.5

日志路径:/var/log/messages

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

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:

cat /proc/988/oom_score

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

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

参考:

理解和配置 Linux 下的 OOM Killer

Linux vm运行参数之(二):OOM相关的参数

Out of memory

Linux -- 内存控制之oom killer机制及代码分析

Linux内核OOM机制分析

linux下程序被Killed相关推荐

  1. Linux下程序崩溃dump时的 core文件的使用方法

    Linux下程序崩溃dump时的 core文件的使用方法 1.在启动程序前执行 ulimit -c unlimited unlimited 表示生成文件的大小限制,也可以修改为自定义的大小,例如: u ...

  2. Linux下程序的保护机制(checksec)

    Linux下程序的保护机制 前言 相信很多人,查看程序信息时会用到,checksec这个命令.它会给你返回如下图的结果,但是很多最开始看到的人,很多都看不懂,如果身为小白的我,跟在大佬后面比葫芦画瓢, ...

  3. Linux下程序编译通过运行时提示error while loading shared libraries(动态链接库问题)

    问题: Linux下程序编译通过了,但是运行时提示 :error while loading shared libraries: libXXX.so.X: cannot open shared obj ...

  4. Linux下程序的Profiling工具-性能测试工具GNU gprof

    Linux下程序的Profiling工具 http://blog.chinaunix.net/uid-128922-id-289972.html 我们在写程序,特别是嵌入式程序的时候,通常需要对程序的 ...

  5. linux下程序执行的步骤及其作用

    程序执行的步骤及其作用 在linux下使用gcc编程时,从表面上看是简单的命令的执行,但实际上,程序的执行分为四个步骤:预编译,编译,汇编,链接. 预编译 在linux系统下,一个.c文件经过预编译生 ...

  6. Linux下程序时间消耗监控与统计

    良好的计时器可帮助程序开发人员确定程序的性能瓶颈,或对不同算法进行性能比较.但要精确测量程序的运行时间并不容易,因为进程切换.中断.共享的多用户.网络流量.高速缓存访问及转移预测等因素都会对程序计时产 ...

  7. 转:用nohup命令让Linux下程序永远在后台执行

    转自:http://www.einit.com/user1/11/archives/2006/3603.html Unix/Linux下一般想让某个程序在后台运行,很多都是使用 & 在程序结尾 ...

  8. 【转】用nohup命令让Linux下程序永远在后台执行

     [原文]http://www.einit.com/user1/11/archives/2006/3603.html   Unix/Linux下一般想让某个程序在后台运行,很多都是使用 & 在 ...

  9. linux程序打包安装,制作Linux下程序安裝包——使用腳本打包bin、run等安裝包

    制作簡單的安裝包的時候可以簡單的用cat命令連接兩個文件,然后頭部是腳本文件,執行的時候把下面的文件分解出來就行了.一般這個后部分的文件是個壓縮包,那樣,就能夠打包很多文件了,在腳本中解壓出來即可.這 ...

最新文章

  1. 一款基于jquery和css3的响应式二级导航菜单
  2. 混合云环境中扩展Kubernetes的挑战及方案
  3. Pycharm跳转回之前所在的代码行
  4. python需要php吗-python可以代替php吗
  5. Forrester云原生开发者洞察白皮书,低代码概念缔造者又提出新的开发范式
  6. 前端校验rules写法:
  7. js已知文件路径得到file对象_NodeJs 的几种文件路径
  8. 华为开发者大会2020(Together)精彩集锦
  9. python棋盘覆盖_java实现的棋盘覆盖
  10. 目录_计算机视觉中的数学方法
  11. Cache-control
  12. Android 应用上线安卓市场
  13. 大一c语言期末考试编程题
  14. 雅马哈机器人左手右手系统_YAMAHA机械手操作手册.PDF
  15. WordPress站点上传文件插件WordPress File Upload
  16. 详解MATLAB之MAX函数
  17. python tk/ttk制作 安卓群控助手,多台设备多任务多线程执行
  18. 新浪邮箱服务器设置,新浪企业邮箱|帮助中心
  19. HDU6130-Kolakoski
  20. iMeta | 俄亥俄州立大学郑庆飞组发表多组学方法研究肿瘤微生物组综述

热门文章

  1. php秒表计时器,JS实现可暂停秒表计时器的效果(图文详解)
  2. python tkinter 实现简易秒表计时器
  3. 如何使用MacBook更省电,Macbook电池应注意事项
  4. ps 的一些常见的键位技巧
  5. stm32cubx-usb-hid键鼠
  6. Excel生成随机32、36位ID
  7. R语言ggplot2 | R语言绘制物种组成堆叠柱状图(二)
  8. 通过JDBC-ODBC连接SQL Server数据库
  9. 【基础知识】多标签分类CrossEntropyLoss 与 二分类BCELoss
  10. 行式 Excel 文件拆分