OOM killer问题
来源:互联网 发布:免费的起名软件 编辑:程序博客网 时间:2024/05/22 09:28
问题描述
1什么是OOM Killer
OOM指在linux中指的是Out of Memory。当linux系统内存耗尽时(主要指申请了并且使用的内存,可理解为物理内存),linux内核会选取一个用户进程,将其kill掉,这个特性叫做OOM killer。
2哪些进程会被kill
综合进程的内存消耗量、CPU时间、存活时间和/proc/$pid/oom_adj计算得出/proc/$pid/oom_score,得分高者被kill;内存占用高者易被kill,运行时间长者不易被kill,root用户开启的进程相对不容易被kill。原则是杀最少的进程释放最多的内存;
3是否有选项可以屏蔽该功能
是。/proc/$pid/oom_adj设置为-17即表示该进程不会因OOM被kill掉(该变量的取值范围是-16~15,取值越大越容易被kill)。可能引起的副作用是linux系统重启。
解决方案
4确保软件无内存泄漏
使用valgrind工具检测软件是否存在内存泄漏;
5接受软件自身业务处理能力范围内的请求
对于图片处理相关系统来说,在未处理的HTTP请求数达到一个限定值后,拒绝接受处理更多地请求,从请求处理响应时间(发起合成GIF请求到GIF合成通知业控)来看,会使用未处理的HTTP请求数目作为限制条件;
对流接入及其它非指令较多型的子系统来说;可考虑监测进程自身内存和系统内存(物理内存)来确定何时减少服务;因为linux内核允许超量分配,因此判断系统已使用内存达到90%以上时可以减少服务;
阅读全文
0 0
- OOM killer问题
- Linux oom-killer的问题
- OOM killer
- oom killer
- OOM Killer
- oom-killer
- oom-killer
- OOM Killer
- oom-killer
- OOM killer
- OOM-killer
- mongodb中的oom-killer的问题
- mongodb中的oom-killer的问题
- Linux内存高,触发oom-killer问题…
- linux oom killer
- Taming the OOM killer
- OOM(out_of_memory) killer分析
- 关于OOM-killer
- 统计中的三种相关系数及Matlab实现
- 一起学ROS之通信机制
- 十分钟成为 Contributor 系列 | 重构内建函数进度报告
- Django实现登录验证功能
- 使用gdb 查找运行的segmentation fault(core dumped)
- OOM killer问题
- Android学习(三)Button和imageButton
- jsp中的basePath和path (绝对路径 相对路径)
- JAVA中this的三种用法的详解
- 从c语言快速过渡到java语言(java语言与c语言语法区别概述)
- 删除一个无头单链表的非尾节点+从尾到头打印单链表
- JavaScript笔记(浏览器下-操作表单以及文件)
- 用Sqoop从从MySQL导入数据到Hive和HBase
- Hadoop Yarn调度器的选择和使用