我们有记录内存的方法吗?在某种程度上 在流程完成后,我们仍然可以访问它。
我检查内存占用的典型方法是:
$ cat /proc/PID/status
但是在这个过程结束后它决不会存在。
答案 0 :(得分:5)
你可以这样做:
watch 'grep VmSize /proc/PID/status >> log'
当程序结束时,您将在log
中获得一段时间内存足迹列表。
答案 1 :(得分:4)
Valgrind有一个名为Massif的内存分析器,它提供有关程序内存使用情况的详细信息:
Massif是一个堆分析器。它通过获取程序堆的常规快照来执行详细的堆分析。它生成一个图表,显示随时间变化的堆使用情况,包括有关程序的哪些部分负责大多数内存分配的信息。该图由文本或HTML文件补充,该文件包含用于确定分配最多内存的位置的更多信息。 Massif运行程序比正常情况慢20倍。
答案 2 :(得分:2)