內存溢出定位
程序加入啓動參數
-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
實時內容請關注微信公衆號,公衆號與博客同時更新:程序員星星