OutOfMemory問題定位

內存溢出定位

程序加入啓動參數

-Xms30M -Xmx30M -XX:+HeapDumpOnOutOfMemoryError

加入下面代碼

	while (true) {
			//0.5M
			byte[] chars = new byte[1024 * 512];
			list.add(chars);
			Thread.sleep(1500);
		}

OOM時會打印java_pidxxxx.hprof的dump文件

在這裏插入圖片描述

jvisualvm 打開 hprof文件,在概要->堆轉儲上的線程 可以定位到相應的方法和變量類型

在這裏插入圖片描述

 
"main" prio=5 tid=1 TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at com.xhx.spring.springoom.SpringOomApplication.afterPropertiesSet(SpringOomApplication.java:26)
       Local Variable: byte[]#34062

實時內容請關注微信公衆號,公衆號與博客同時更新:程序員星星
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章