我有一个应用程序,其内存随着我运行的测试用例而增加。这显然让我相信我的应用程序正在泄漏内存。所以我在我的应用程序上运行了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吗?这可以表明我有内存泄漏吗?
由于