[英]Heap Dump Analysis - Find root cause of OutOfMemory Exception
我正在運行一個最大堆大小為4 gigs -Xms4096m -Xmx4096m -Xmn1024m
且GC配置為-XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=50
並且GC間隔為Dsun.rmi.dgc.server.gcInterval=43200000 -Dsun.rmi.dgc.client.gcInterval=43200000
突然我的應用程序去了內存不足的堆,我在同一場合進行了線程轉儲和堆轉儲。 在分析線程轉儲時,由於為hashMap和arrayList創建一些值而導致線程卡住。 ByteArrayOutStream已在線程之一中創建了鎖。
在eclipse內存分析器工具中的“分析堆轉儲”上,它清楚地表明bytearray對象已經占據了將近1 Gigs的堆。 從GCViewer可以看出,它的峰值只有幾分之一秒。 我不太清楚為什么字節數組對象突然使用了1 Gigs的空間。 有人可以幫我縮小罪魁禍首的范圍嗎?
-應用服務器-Weblogic 12c
在eclipse內存分析器工具中的“分析堆轉儲”上,它清楚地表明bytearray對象已經占據了將近1 Gigs的堆。
使用最短路徑到MAT的GC根功能,可以查看哪些引用保留在該字節數組上。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.