gpt4 book ai didi

c++ - 私有(private)脏内存可以指示内存泄漏吗?

转载 作者:IT王子 更新时间:2023-10-29 00:59:50 32 4
gpt4 key购买 nike

我有一个应用程序,它的内存随着我运行的测试用例而增加。这显然让我相信我的应用程序正在泄漏内存。所以我在我的应用程序上运行了 valgrind,令人惊讶的是它没有发现泄漏。

我不确定为什么我的进程内存泄漏,所以我查看了我进程的 smaps 文件如果我觉得有趣,请在下方

08426000-42f56000 rwxp 00000000 00:00 0                                  [heap]
Size: 961728 kB
Rss: 960252 kB
Pss: 960252 kB
Shared_Clean: 0 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 960252 kB
Referenced: 960252 kB
Anonymous: 960252 kB
AnonHugePages: 0 kB
Swap: 0 kB
KernelPageSize: 4 kB

为了让这些数字有意义,我对 Private_Dirty 内存进行了一些研究,大多数文章都指出这是尚未释放的内存,因为它们的成本很高。

这似乎表明这些只是已被应用程序释放但仍被操作系统保留的内存。

有人可以帮助我更好地理解 private_dirty 吗?这是否表示我有内存泄漏?

谢谢

最佳答案

似乎是内存在等待写入磁盘,为此系统需要一些时间。您的程序必须产生大量写入磁盘文件的结果。

What is dirty private memory?

关于c++ - 私有(private)脏内存可以指示内存泄漏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23739059/

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