![](/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.