0

我有一些内存问题,我有一个进程增加了它的驻留内存太多,我试图确定是否存在内存泄漏。

刚打开进程,内存占用151 Mb

VIRT RES SHR 792m 151m 14m

几天后,该过程过多地增加了常驻内存:

VIRT RES SHR 784m 480m 9204

我生成了两个转储,一个打开进程,几天后另一个,我生成了这样的转储:

jmap -dump:file=file.bin PID

第一个转储占用 23 Mb,第二个转储占用 244 Mb。

如果我使用内存分析器工具打开两个转储,我发现两个转储占用几乎相同的 ~7Mb:第一个为 6.6 Mb,第二个为 7.4 Mb。

¿ 谁能解释我这是怎么可能的,我如何确定它是否存在内存泄漏?¿ 我怎样才能证明这个内存增量是合理的?

非常感谢!!

作为附加信息, smaps 显示了一个奇怪的条目,似乎是有罪的:

作为附加信息:smaps 显示 487a0000-5fbcd000 rwxp 00000000 00:00 0

大小:381108 kB

RSS: 381108 KB

pss: 10420 KB

Shared_Clean:0 kB

Shared_Dirty:0 kB

Private_Clean:0 kB

Private_Dirty:381108 kB

参考:374832 kB

匿名:381108 kB

AnonHugePages:370688 kB

交换:0 kB

内核页面大小:4 kB

MMUPage 大小:4 kB

锁定:0 kB

但我不明白这是什么意思。

4

0 回答 0