我正试图使用Valgrind和pmap来监控进程的内存使用情况。
由于进程不是由自身运行的,而是通过Val差尔运行的,因此可以安全地说,使用pmap监视Val研磨与监视进程是一样的,还是Val差尔使用了额外的内存?
谢谢。
发布于 2020-07-26 12:44:12
根据工具的不同,valgrind可以使用比本机运行的内存多得多的内存。即使是“无”工具也会使用更多的内存。
各种val研工具可以对应用程序使用的内存进行详细的监视/报告。
例如,您可以在--xtree-memory=full中使用memcheck工具,并使用kcache差使将结果文件可视化。有关更多细节,请参见https://www.valgrind.org/docs/manual/manual-core.html#manual-core.xtree。
massif工具可用于报告内存使用的峰值。
发布于 2020-07-28 07:31:58
只是想再加几个细节。当你在瓦伦堡跑的时候,你会有
两个堆栈,一个用于application
)。
此外,每个工具都将使用内存进行跟踪,就像@phd已经提到的那样。例如,memcheck将分配‘影子’内存,以便它能够判断客户机何时使用未初始化的内存。
最后,如果您使用调试输出(-d)运行Valgrind,它将打印自己的“地址空间管理器”映射,这与pmap -x类似。
https://stackoverflow.com/questions/63099172
复制相似问题