如何找出哪个进程对 RAM 爆发负责?

如何找出哪个进程对 RAM 爆发负责?

我的 VPS 刚刚耗尽了 RAM,并且由于我甚至无法 ssh 登录,我被迫重新启动它。

我的问题是我应该查看哪里(日志等)来找出哪个过程导致了 RAM 爆发?

谢谢。

答案1

除非您看到某些东西/var/log/messages(或其他文件/var/log- 环顾四周),否则您就错失了机会:通过重新启动,您会破坏系统拥有的所有状态信息,现在您需要等待问题再次发生。

如果您怀疑存在 RAM 泄漏,我建议您监控 RAM/Swap 使用情况并注意任何随着时间推移而增长的进程​​。

答案2

当您可以登录时,输入top并按M(您也可以使用atop, htop,...)

如果您想检查大小(以千字节为单位)而不是百分比:

# ps -eo rss,pid,user,cmd --sort -rss | head

答案3

您应该使用像 Munin 或 Cacti 这样的指标收集系统来绘制您的服务的历史图表。

相关内容