在项目运行过程中,经常有内存溢出,普通的info,error,debug日志并不能很好的分析的时候,需要借助jvm自带的命令进行相关堆信息的输出
XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/apps/heapdump.dump
如 启动命令为
nohup java -jar -Xmx512m -Xmx1024m test20210811.jar
修改命令为
nohup java -jar -Xmx512m -Xmx1024m XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/apps/heapdump.dump test20210811.jar
注意
对应的存放路径,每个目录都需要存在,如果缺失,则需要手动添加目录
在重新启动项目后,当堆溢出的时候,就会在目标目录输出一个文件,通过文件,即可分析相关运行情况