java cpu100% 分析过程

分析工具: MAT

一、准备工作

1、修改tomcat/bin 中的文件:

java cpu100% 分析过程

#重启启动,tomcat

启动命令:./startup.sh && tail -f ../logs/catalina.out

启动后, 当内存不足等异常情况, 会先生成文件heapdump.hprof, 后期根据该文件分析程序哪里出现问题。

2、使用MAT 工具分析文件heapdump.hprof

1)从mat 官网下载软件包:MemoryAnalyzer-1.10.0.20200225-linux.gtk.x86_64.zip

2)解压: unzip MemoryAnalyzer-1.10.0.20200225-linux.gtk.x86_64.zip -d  /tmp

解压后的文件:

java cpu100% 分析过程

 [ssss@11111 mat]$ ll
总用量 148
drwxrwxr-x  6 ssss ssss 4096 12月 29 14:30 configuration
-rw-rw-r--  1 sss ssss 16863 2月  25 2020 epl-v10.html
drwxrwxr-x 18 ssss ssss 4096 3月  25 2020 features
-rwxr-xr-x  1 ssss ssss 73064 3月  25 2020 MemoryAnalyzer
-rw-rw-r--  1 ssss ssss 200 12月 29 13:37 MemoryAnalyzer.ini
-rw-rw-r--  1 ssss apps  9013 2月  25 2020 notice.html
drwxrwxr-x  4 ssss ssss 4096 3月  25 2020 p2
-rwxr-xr-x  1 ssss ssss 333 2月  25 2020 ParseHeapDump.sh
drwxrwxr-x  5 ssss ssss 20480 3月  25 2020 plugins
drwxrwxr-x  3 ssss ssss 4096 12月 29 13:38 workspace

调用命令:ParseHeapDump.sh

执行分析命令

执行如下命令会输出泄漏嫌疑对象的分析结果,这个结果是比较全面的。

./ParseHeapDump.sh ../today_heap_dump/jvm.hprof org.eclipse.mat.api:suspects

  • ./ParseHeapDump.sh /path/to/tomcatdump org.eclipse.mat.api:suspects org.eclipse.mat.api:overview org.eclipse.mat.api:top_components

还支持另外两个分析结果:

  1. org.eclipse.mat.api:overview

  2. org.eclipse.mat.api:top_components

[apps@m1111 mat]$ ./ParseHeapDump.sh /apps/tmp/A20211229-1124heapdump.hprof org.eclipse.mat.api:suspects org.eclipse.mat.api:overview org.eclipse.mat.api:top_components
java cpu100% 分析过程

分析后生成文件:

java cpu100% 分析过程

主要是这几个文件:

A20211229-1124heapdump_Leak_Suspects.zip 

A20211229-1124heapdump_System_Overview.zip

A20211229-1124heapdump_Top_Components.zip

unzip 解压这几个文件:

-rw-rw-r-- 1 dq dq  83242 12月 29 14:49 A20211229-1124heapdump_Leak_Suspects.zip
-rw-rw-r-- 1 dq dq  65077 12月 29 14:49 A20211229-1124heapdump_System_Overview.zip
-rw-rw-r-- 1 dq dq 229727 12月 29 14:50 A20211229-1124heapdump_Top_Components.zip
drwxrwxr-x 5 dq dq   4096 12月 29 15:01 suspects  #自己新建的目录 放heapdump_Leak_Suspects.zip文件


drwxrwxr-x 5 dq dq   4096 12月 29 15:08 systemOverview #自己新建的目录,放heapdump_System_Overview.zip的解压文件
drwxrwxr-x 5 dq dq   4096 12月 29 15:09 topComponents #自己新建的目录,放heapdump_Top_Components.zip的解压文件。

# tomcat 对应的路径:

tomcat/webapps/matfile2/suspects

浏览器访问:http://localhost:8080/matfile2/suspects/index.html

可以看到结果页面:

java cpu100% 分析过程

 

点击:The stacktrace of this Thread is available. See stacktrace.

java cpu100% 分析过程

 

上一篇:BUUCTF之二维码


下一篇:Java 上传zip文件 解析保存