JVM参数-XX:+HeapDumpOnOutOfMemoryError
生活随笔
收集整理的這篇文章主要介紹了
JVM参数-XX:+HeapDumpOnOutOfMemoryError
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
- jdk 1.8
- eclipse 4.9.0
- spring boot 2.0.0.RELEASE
-XX:+HeapDumpOnOutOfMemoryError
當堆內存空間溢出時輸出堆的內存快照。
復現一下內存空間溢出
- 創建一個spring boot程序。只要能夠運行就可以。
- 指定內存最大值為10M(-Xmx10M)。10M,呵呵,肯定啟動不了 spring boot ,肯定內存空間溢出。
eclipse中配置程序啟動參數:
eclipse中的執行結果:
另一個復現內存空間溢出的方法
編寫一個內存泄漏的程序,漏的足夠多時,就內存空間溢出了。
class Wrapper {public static void main(String args[]) throws Exception {Map map = System.getProperties();Random r = new Random();while (true) {map.put(r.nextInt(), "value");}} }添加參數 -XX:+HeapDumpOnOutOfMemoryError
在java命令行中添加vm參數-XX:+HeapDumpOnOutOfMemoryError。
eclipse中配置程序啟動參數:
eclipse中的執行結果:
內存快照的生成目錄,默認在java的啟動目錄下。
-XX:HeapDumpPath
-XX:HeapDumpPath=目錄或文件-XX:HeapDumpPath=目錄時,參數表示生成DUMP文件的路徑。默認為:java__heapDump.hprof。
-XX:HeapDumpPath=文件時,形如-XX:HeapDumpPath=d:\java_heapdump.hprof。
略。
內存快照的分析
mat
參考
https://blog.csdn.net/liuxinghao/article/details/77934725
總結
以上是生活随笔為你收集整理的JVM参数-XX:+HeapDumpOnOutOfMemoryError的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 行政区划代码
- 下一篇: 如何给路由器指定IP地址路由器怎么设定指