JVM 启动参数设置 OOM 异常时,可以通过配置参数自动生成 dump 文件,以便全方位定位 Java 程序问题。
配置方法
在 Java 程序启动时,增加如下配置:
-XX:+HeapDumpOnOutOfMemoryError
该配置表示当 Java 程序首次遭遇内存溢出(OOM)时,导出此时堆中相关信息(dump 文件)。
此外,也可以指定 dump 文件路径:
-XX:HeapDumpPath=${directory|file_path}
该参数表示生成 DUMP 文件的路径,也可以指定文件名称,如:
-XX:HeapDumpPath=dump/java_heapdump.hprof -XX:HeapDumpPath=dump
如果不指定文件名,默认为当前目录下的:java_<pid>_<date>_<time>_heapDump.hprof
。