2
A
回答
9
Linux内核使用OOM(Out Of Memory) Killer
处理低内存条件。 OOM杀手的策略是杀死一些进程或进程以允许分配进程获得所需的内存。
为了选择一个杀死进程,OOM杀手计算出名为Badness
的值。然后它选择最大Badness被杀死的进程。如果选择分配过程,OOM终止其工作。如果选择了其他进程,那么在OOM杀手的上一次运行没有释放足够内存的情况下,可以多次调用OOM杀手。
的方法被杀死被选择在
- 根进程没有中止这样的方式。
- 我们失去了最低工作量。
- 我们恢复了大量的内存。
- 我们想要杀死最少量的进程(一个)。
- 我们试图杀死用户期望我们杀死的进程,此算法已经过精心调整,以满足最少突击的原则。
我们可以使用/proc/sys/vm/overcommit_memory
值
0启发式内存过量使用(默认设置)的 地址空间-Obvious overcommits配置OOM杀手被拒绝
1 - 始终过量使用
2-Disable overcommit - 当overcommit_memory设置为如图2所示,总地址空间提交的系统不允许超过互换+配置百分比的物理RAM
一个简单的方法来证明的Linux处理OOM是通过malloc和memset的连续分配存储器的(overcommit_ratio -default是50)内存直到进程耗尽内存并被杀死(出现在dmesg中)。
为内存不足标准测试可以在可用Linux Test Project (LTP)
发现在LTP Source Forge
测试是在LTP可用/测试用例/内核/ MEM/OOM
相关问题
- 1. linux内核+条件语句
- 2. 为linux内核配置物理内存
- 3. Linux内核内存障碍
- 4. 内核级内存处理编码
- 5. Linux内核编程:“无法处理内核NULL指针引用”
- 6. Linux内核3.9 KVM for ARM处理器
- 7. PCIe中断处理linux内核
- 8. 降低linux内核定时器频率
- 9. Linux内核进程管理
- 10. 在linux内核中的tcp处理后的数据包处理
- 11. PHP:处理内存和代码的低内存使用率
- 12. linux内核模块内存检查器
- 13. Linux内核中的内存损坏
- 14. 剖析Linux内核使用的内存
- 15. 内核内存转储大小Linux
- 16. Linux内核中的堆栈内存
- 17. Linux内核中的内存保护
- 18. Linux内核如何处理隐藏文件?
- 19. Linux内核如何处理并发文件查找
- 20. Linux内存管理
- 21. Linux内核的内存管理寻呼水平
- 22. 了解Linux内核中的TCP内存管理
- 23. 有关物理内存的Linux内核知识
- 24. Linux内核如何获取有关处理器和内核的信息?
- 25. 发布不释放低内存条件下的内存
- 26. Linux内核add_timer
- 27. 处理内存
- 28. Linux内核硬件断点
- 29. Linux内核头文件
- 30. Linux内核文件重启
谢谢..这是您的最终有很大的帮助,,谢谢.. – Happy
谢谢Harshitha。你是否知道在需要(内存)时是否有任何交互方式在桌面模式下终止选择过程? – Henry