如何检测哪个程序正在泄漏内存

如何检测哪个程序正在泄漏内存

我正在使用 ubuntu 15.04,我的空闲内存使用量通常在 1GB 左右,最近我一直memory allocation failed从节点获取。

我注意到一两天后我的空闲内存上升到了 4GB。我知道这要么是程序的问题,要么是 ubuntu 的问题。我真的希望这不是 ubunut,这样我就不必重新安装或降级了。

确定哪个程序正在泄漏内存或者是 ubuntu 本身的最佳工具是什么。

答案1

你可以用两种方法来实现

1)运行top command (to run non-interactively, type top -b -n 1)。要查看哪些应用程序正在泄漏内存,请查看以下列:

RPRVT - resident private address space size
RSHRD - resident shared address space size
RSIZE - resident memory size
VPRVT - private address space size
VSIZE - total memory size

2)获取一个调试器/内存分析器,例如瓦尔格林德并在其中逐个运行程序。

相关内容