Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
有没有办法记录内存占用?在过程完成后,我们仍然可以访问它。
我检查内存占用的典型方法是:
$ cat /proc/PID/status
但在过程完成后它绝不存在。
您可以执行以下操作:
watch 'grep VmSize /proc/PID/status >> log'
当程序结束时,您将在log.
log
Valgrind有一个名为Massif的内存分析器,它提供有关程序内存使用情况的详细信息:
Massif 是一个堆分析器。它通过定期拍摄程序堆的快照来执行详细的堆分析。它会生成一个图表,显示随时间的堆使用情况,包括有关程序的哪些部分负责最多内存分配的信息。该图由文本或 HTML 文件补充,其中包含用于确定分配最多内存的位置的更多信息。Massif 运行程序的速度比正常速度慢 20 倍。
您可以使用munin + 自定义插件记录它。
这将允许您监控和保存所需的过程信息,并轻松绘制图表。
这是我在 serverfault.com 上给出的相关答案