gpt4 book ai didi

linux - 如何查找进程的内存泄漏?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:00:16 27 4
gpt4 key购买 nike

我需要找出特定进程的内存使用情况。事实上,我需要找出我编写的应用程序中是否存在任何内存泄漏。我无法使用 memfree/proc/meminfo,因为我们的系统在 RAM 中安装了日志文件夹。

我经历过很多类似的查询,有些人建议使用 ps aux 命令。我有点困惑哪个参数给出了正确的内存使用或者几个小时后内存泄漏。 PS AUX 提供VSZ(virtual mem)RSS(resident set size)

我编写了一个示例程序,它分配了 4 个字节的内存并将其取消分配。运行程序后,似乎 VSZ 值在分配内存时增加但在取消分配时没有减少。但是 RSS 值显示正确,分配时增加,取消分配时减少。

有人可以确认使用 RSS 值是否会指向代码中的内存泄漏量吗?或者还有其他方法吗?

最佳答案

要了解详细信息,您可以使用 pmap:pmap pid

root@tm# pmap 1216
1216: /usr/sbin/acpid
08048000 32K r-x-- /usr/sbin/acpid
08050000 4K rw--- /usr/sbin/acpid
08051000 4K rw--- [ anon ]
088f2000 140K rw--- [ anon ]
b7642000 4K rw--- [ anon ]
b7643000 1280K r-x-- /lib/i686/cmov/libc-2.11.3.so
b7783000 4K ----- /lib/i686/cmov/libc-2.11.3.so
b7784000 8K r---- /lib/i686/cmov/libc-2.11.3.so
b7786000 4K rw--- /lib/i686/cmov/libc-2.11.3.so
b7787000 12K rw--- [ anon ]
b7798000 8K rw--- [ anon ]
b779a000 4K r-x-- [ anon ]
b779b000 108K r-x-- /lib/ld-2.11.3.so
b77b6000 4K r---- /lib/ld-2.11.3.so
b77b7000 4K rw--- /lib/ld-2.11.3.so
bfd59000 84K rw--- [ stack ]
total 1704K

关于linux - 如何查找进程的内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7143776/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com