守护程序进程的内存分析

时间:2015-08-23 00:53:40

标签: c++ eclipse memory valgrind profiler

我有一个守护程序进程,我想在其上执行内存配置文件。所以我把valgrind作为一个选择并使用massif工具运行它,但由于进程永远不会死,所以massif永远不会返回输出文件。即使我尝试向进程发送一个TERM信号,我也没有收到来自massif的任何输出。

所以现在我尝试在我的eclipse中安装valgrind插件并开始尝试在已创建的守护进程二进制文件上运行配置文件,但是当我启动探查器时,它会说出两种错误:

  1. 未能说无法加载库。我没有找到任何方法在配置文件配置中设置库路径。
  2. 没有错误的权限来读取内存地址。
  3. 所以我甚至无法在eclipse中运行探查器。

    我尝试了gdb,我尝试获取内存信息,但这就是“/ proc // maps”会给出的内容。所以没用。

    最后这是我的用例:

    1. 我有一个永不退出的守护进程,我想对它进行内存分析。
    2. 我想获得没有发生内存分配的快照,最大内存分配,哪条指令试图分配最多的分配等等。
    3. 如果我能获得内存分析的可视界面,那么我甚至可以与我的经理分享。
    4. 所以请建议我是否有任何这样的分析器,以及任何指向何处获取文档等的指示。

      提前致谢! 维奈。

1 个答案:

答案 0 :(得分:0)

在valgrind下运行程序时,各种命令 (取决于工具)可以从shell执行,使用 vgdb处于独立模式。

使用--tool = massif运行时,可以执行按需快照 你的程序正在运行。

有关详细信息,请参阅http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.valgrind-monitor-commands