![](/img/trans.png)
[英]Java heap dump file (.hprof) is much larger than heap size in eclipse MAT
[英]Java heap dump (hprof file) is much smaller that resident memory
当运行top时看到我的RES
是4.7GB,这很好,因为我设置-Xmx8g
,但是当我将它转储到hprof文件时,我得到大约半个gig文件。
不是假设包含所有内存吗? 顺便说一句,即使我强制GC(使用jcmd)我仍然看到4.7G常驻。
堆转储文件(hprof)不是内存转储,而是对象堆转储。 它只包含java对象。
堆转储文件不包括 - 内存的非堆区域(例如代码缓存,元空间等) - 某些堆对象(例如类)不包含在保留但未在堆中使用的无转储区域中
在您的情况下,您可能有很多未使用的堆空间。 GC不会将已用空间返回到OS,因此RES大小保持为4.7G
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.