具有500 Mb驻留内存的进程生成250 Mb的转储文件,内存分析器工具仅显示7.5 Mb

时间:2015-02-04 08:22:21

标签: java memory memory-leaks jvm jmap

我有一些内存问题,我有一个过程会增加其驻留内存太多,我试图确定是否有内存泄漏。

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

VIRT RES SHR 792米151米14米

几天之后,这个过程会增加驻留内存:

VIRT RES SHR 784m 480m 9204

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

jmap -dump:file = file.bin PID

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

如果我使用Memory Analyzer Tool打开两个转储,我发现两个转储占用的几乎相同~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

KernelPageSize:4 kB

MMUPageSize:4 kB

锁定:0 kB

但我无法理解这意味着什么。

0 个答案:

没有答案
相关问题