0

我有一个 C 程序,它甚至包含来自外部库的许多内存分配,我想定期检查我的应用程序分配的总内存(包括库分配)。

我尝试了一些 , 之类的 linux 命令,ps euf但没有任何实际结果。pmap $pidcat /proc/$pid/status

我做了一些研究,发现了 valgrind 的合适工具。

当我的应用程序运行时,我尝试转储内存:

valgrind --tool=drd --trace-alloc=yes

但是我没有得到像 valgrind 在执行结束时显示的结果。

当我的应用程序运行时,如何使 valgrind 显示内存状态(如 valgrind 在执行结束时显示的结果)?

4

1 回答 1

1

根据3.8.0 valgrind 手册,核心或 memcheck 没有这样的选项,并且在信号部分中没有提及周期性或触发行为。valgrind不能开箱即用。

虽然您可能会编写一个 valgrind 工具来完成这项工作,但您可能会重新考虑该方法并阐明您想要什么样的内存使用情况,以及系统统计数据是否足以完成您的任务。

于 2013-02-12T10:09:02.417 回答