有没有办法追踪失控进程?

有没有办法追踪失控进程?

最近我遇到了一个相当烦人的问题,似乎与 Firefox-Trunk、Thunderbird-Trunk 或可能的 Compiz(compizUnity 的默认版本为 12.04)有关。系统会随机(似乎)变得不可用,因为 RAM 突然满了。

我以为这只是 Firefox 的问题(Google+ 的问题 - 如果你滚动它就会出现这种情况),但进一步调查发现了其他潜在原因。此后,我已禁用所有插件,问题尚未发生(在撰写本文时) - 但我在等待观察 - 因为我不得不启动 KDM 才能登录(Lightdm 现在冻结,因为必须两次关闭 xserver)。

除了前言之外,有没有办法可以追踪哪些进程失控了(也许通过日志?)以便我可以稍后修复它?

答案1

除了前言之外,有没有办法可以追踪哪些进程失控了(也许通过日志?)以便我可以稍后修复它?

如果你怀疑它是一个特定的进程,只需从 bash 脚本中启动它,ulimit -v N首先调用,其中 N 是最大虚拟内存以千字节为单位您想在内核杀死它之前给它。当它死掉时你就会知道它是什么 ;)

您还可以尝试设置一个简单的 cron 作业,每分钟将具有特定参数(用于内存)的输出附加ps到日志中,然后进行解析。

最后,尝试监控(在 repos 中),它监视进程,并在超过特定阈值时采取终止、重启等操作。

相关内容