1、龅歧仲半打开/tomcat_home/bin/catalina.bat文件2.加上:set JAVA_OPTS=%JAVA_OPTS% -s髫潋啜缅erver -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\heapdump,这样当内存溢出是就会在对应路径下生成dump文件
2、运行程序打开jdk bin 文件夹下再带的jvisualvm.exe
3、选择tomcat线程,打开实时监控页面可以看到对应的堆栈线程和装在类,内存的实时情况
4、运行程序打开jdk bin 文件夹下再带的jconsole.exe,可以概览堆栈线程和装在类,内存的全部运行时间情况
5、下载安装mat,dump分析软件,安装后,点击file open 导入dump文件
6、打开后,灰色区域为可能发生内存溢出的区域,下带问题描述
7、选择Histogram,点击shallow列进行排序,找出实例最多的
8、右键实例最的选择list objects-with incoming references,可在根据正则表达式输入自己想查的类,搜索,后右键打开 path to gc root-exclude phantom/weak/soft etc. references 就可以查出 调用为回收的相关信息。