Java教程

java cpu100% 分析过程

本文主要是介绍java cpu100% 分析过程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

分析工具: MAT

一、准备工作

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

#重启启动,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

解压后的文件:

 [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

分析后生成文件:

主要是这几个文件:

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

可以看到结果页面:

 

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

 

这篇关于java cpu100% 分析过程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!