6

有没有办法记录内存占用?在过程完成后,我们仍然可以访问它。

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

$ cat /proc/PID/status

但在过程完成后它绝不存在。

4

3 回答 3

5

您可以执行以下操作:

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

当程序结束时,您将在log.

于 2009-06-02T07:41:04.057 回答
4

Valgrind有一个名为Massif的内存分析器,它提供有关程序内存使用情况的详细信息:

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

于 2009-06-02T15:22:14.563 回答
2

您可以使用munin + 自定义插件记录它。

这将允许您监控和保存所需的过程信息,并轻松绘制图表。

这是我在 serverfault.com 上给出的相关答案

于 2009-06-02T07:59:44.860 回答