有没有一种方法可以记录内存占用?从某种意义上说,在过程完成后,我们仍然可以访问它。

我检查内存占用的典型方法是:

$ cat /proc/PID/status

但在该过程完成后它就不再存在。

有帮助吗?

解决方案

你可以这样做:

watch 'grep VmSize /proc/PID/status >> log'

在程序结束时,你就会有内存占用的名单在以上时间log

其他提示

瓦尔格林德 有一个名为的内存分析器 地块 它提供了有关程序内存使用情况的详细信息:

Massif 是一个堆分析器。它通过定期拍摄程序堆快照来执行详细的堆分析。它生成一个图表,显示随时间变化的堆使用情况,包括有关程序的哪些部分负责最多内存分配的信息。该图由文本或 HTML 文件补充,其中包含更多信息,用于确定最多内存分配的位置。Massif 运行程序的速度比正常情况慢约 20 倍。

可以使用穆宁 +定制插件记录它。

这将允许监视和保存所需的处理信息,和图形它,容易

这里有一个相关的答案,我在serverfault.com

scroll top