当tomcat经常内存溢出时,排查比较困难,可以选择添加dump日志,当宕机时会生成hprof格式文件,用于内存分析便于排查问题。
在windows服务器中需要配置bin/catalina.bat文件,XX:HeapDumpPath 为磁盘的已存在的路径,内存溢出时hprof文件会生成在配置路径下。
set JAVA_OPTS=%JAVA_OPTS% -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=F:\dump
在linux服务器中需要配置bin/catalina.sh文件。
JAVA_OPTS="$JAVA_OPTS -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/ "