【问题标题】:Checking memory leaks on HPUX检查 HPUX 上的内存泄漏
【发布时间】:2009-09-17 19:13:30
【问题描述】:

我使用 getrusage 的哪些字段来检查 HPUX 上的内存泄漏(与“top”中的 RES 平行的是什么)?

【问题讨论】:

    标签: c++ memory-leaks hp-ux


    【解决方案1】:

    我不熟悉 HPUX,但我建议在 Linux 上编译您的程序。您可以使用 valgrind、mtrace 或其他可能的工具来查找内存泄漏。一旦发生内存泄漏,无论您使用什么操作系统,它总是会发生。只需使用具有更完整工具集的操作系统即可。

    【讨论】:

    • 是的,我知道 /proc 和其他 Linux 上的,但我需要在 HPUX 上以编程方式进行。
    • 对不起,我帮不上忙。祝你好运。
    【解决方案2】:

    为什么不在批处理模式下运行 top 呢?如果您有泄漏,您应该会看到 VIRT 和 RES 随着时间的推移而上升。

    top -b | grep yourProgram
    

    如果你有它们,这不会帮助你找到泄漏,但它比弄乱 getrusage 更容易,反正不会有任何帮助。

    【讨论】:

      【解决方案3】:

      你想看看ru_maxrss。它为您提供以千字节为单位的驻留集大小。

      struct rusage {
          :
          long   ru_maxrss;        /* maximum resident set size */
          :
      };
      

      【讨论】:

        【解决方案4】:

        请注意UNIX95=后面的空格,即

        UNIX95= ps -e -o "user,vsz,pid,ppid,args" | sort -rnk2 | head
        

        【讨论】:

          猜你喜欢
          • 2011-05-21
          • 1970-01-01
          • 2012-01-02
          • 2010-10-09
          • 1970-01-01
          • 2012-07-16
          • 2013-01-26
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多