linux - 当 Linux 内存不足时,如何获得有关进程的更多信息?

标签 linux memory-leaks

我最近遇到了 oom-killer 一段时间后开始终止进程​​的问题。我可以看到内存已被消耗,但当我到达服务器时,已经不清楚是什么消耗了它。是否有一个很好的非显而易见的地方来获取有关 oom-killer 的更多信息?例如。激活时进程的详细信息、终止进程的详细信息以及选择的原因?

我正在寻找可以找到此信息的特定位置、用于收集它的特定工具或用于改进 oom-killer 报告的某些配置。我不是在寻找关于 oom-killer 的一般信息。默认情况下,/var/messages 将仅包含有关空闲/分配内存的详细报告,但不包含分配给它的特定进程。

最佳答案

您可以检查消息日志文件以查看哪个进程被终止以及一些相关信息。至于原因:

... the ideal candidate for liquidation is a recently started, non privileged process which together with it's children uses lots of memory, has been nice'd, and does no raw I/O. Something like a nohup'd parallel kernel build (which is not a bad choice since all results are saved to disk and very little work is lost when a 'make' is terminated).

来自 here .

您可以定义一些进程不受 killer 的影响,调整 swappiness 参数以防它太低(这会使 killer 触发快乐)并检查列出的内容 here

关于linux - 当 Linux 内存不足时,如何获得有关进程的更多信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/120000/

相关文章:

javascript - jquery .remove() 是否在后代 DOM 元素上触发 .off()

c++ - 共享库中的成员函数指针地址

ios - 在 Linux 中开发 iOS 应用程序的状态如何?

linux - Shell 脚本无法将文件数据传递给 Shell 输入

即使使用智能指针,C++ 也会在异常情况下泄漏

c++ - 如何检测 WinCE C/C+ 运行时库下的泄漏?

linux - 使用 FIFO 调度的进程仍处于关闭状态?

linux - 内存泄漏和 Apache

c++ - 尽管有析构函数调用,但内存泄漏

c++ - 通用 Windows 平台上的内存泄漏检测