gpt4 book ai didi

linux pmap 了解在特定虚拟地址空间中运行的内容

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

我们正在发生某种巨大的内存泄漏,我们进程的驻留内存呈指数级增长。

pmap -x 显示如下内容:

...
00007f4ad85cd000 10530276 9129608 9129608 rw--- [ anon ]
....

这个匿名者是造成泄漏的原因

类似地 cat/proc//smaps 显示如下内容:

7f4b03dfb000-7f4d5b146000 rw-p 00000000 00:00 0
Size: 9817388 kB
Rss: 8547272 kB
Pss: 8547272 kB
Shared_Clean: 0 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 8547272 kB
Referenced: 6971056 kB
Anonymous: 8547272 kB
AnonHugePages: 0 kB
Swap: 80732 kB
KernelPageSize: 4 kB

现在呢?接下来我该怎么做才能找出可能导致问题的原因?如何进一步调试?没有核心的、非常旧的代码——也没有人知道在哪里添加日志。

我如何找出是什么导致了 7f4b03dfb000-7f4d5b146000

最佳答案

你指的是你的过程。这是您编写的程序,您可以控制和访问其源代码吗?或者这是某个第三方提供的程序?

如果这是某个第三方程序,您别无选择,只能提交错误,并希望他们能够解决它。

如果这是您自己的代码,您将需要使用工具来调试内存泄漏。根据所使用的编程语言和库,您可以使用不同的工具。

一个这样的工具是 Valgrind .

关于linux pmap 了解在特定虚拟地址空间中运行的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23274478/

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