【发布时间】:2009-09-17 19:13:30
【问题描述】:
我使用 getrusage 的哪些字段来检查 HPUX 上的内存泄漏(与“top”中的 RES 平行的是什么)?
【问题讨论】:
标签: c++ memory-leaks hp-ux
我使用 getrusage 的哪些字段来检查 HPUX 上的内存泄漏(与“top”中的 RES 平行的是什么)?
【问题讨论】:
标签: c++ memory-leaks hp-ux
我不熟悉 HPUX,但我建议在 Linux 上编译您的程序。您可以使用 valgrind、mtrace 或其他可能的工具来查找内存泄漏。一旦发生内存泄漏,无论您使用什么操作系统,它总是会发生。只需使用具有更完整工具集的操作系统即可。
【讨论】:
为什么不在批处理模式下运行 top 呢?如果您有泄漏,您应该会看到 VIRT 和 RES 随着时间的推移而上升。
top -b | grep yourProgram
如果你有它们,这不会帮助你找到泄漏,但它比弄乱 getrusage 更容易,反正不会有任何帮助。
【讨论】:
你想看看ru_maxrss。它为您提供以千字节为单位的驻留集大小。
struct rusage {
:
long ru_maxrss; /* maximum resident set size */
:
};
【讨论】:
请注意UNIX95=后面的空格,即
UNIX95= ps -e -o "user,vsz,pid,ppid,args" | sort -rnk2 | head
【讨论】: