小学妹问我:如何利用可视化工具排查问题?
有关JVM问题排查的可视化工具有很多,比如说JDK自带的jconsole、jvsualvm等,第三方有MAT、GChisto、GCView等。
jconsole查看内存回收情况
jconsole
工具在JDK的bin目录下。
选中自己的进程,进入,会提示不安全的链接,继续点进去
就会看到整个JVM
的概览
可以查看线程已经内存使用情况
还可以选中看JVM内存中某一块,比如说新生代的Eden区、Survivor区、老年代等。
还可以看VM概要,具体数据请看图中的内容
远程连接请参考:
https://blog.csdn.net/u012758088/article/details/78510985
jvisualvm查看内存回收情况
jvisualvm工具在JDK的bin目录下。,用法和jconsole
类似;
双击
选择我们的进程
这个概述的东西相对较少
监视整体情况,CPU、堆、类、线程的情况
查看线程相关的数据
进入Profiler,点击内存,然后进入分析阶段,下面就会展示内存中对象的数据
在工作中就可以进行查看内存中对象的情况。
远程连接课请参考:
https://my.oschina.net/u/2300159/blog/812984
第三方工具
MAT
Java 堆内存分析工具。
GChisto
GC 日志分析工具。
GCViewer
GC
日志分析工具。
JProfiler
商用的性能分析利器。
arthas
阿里开源诊断工具。
https://github.com/alibaba/arthas
async-profiler
Java 应用性能分析工具,开源、火焰图、跨平台。
https://github.com/jvm-profiling-tools/async-profiler
关于第三方工具的使用,后面会有文章对每一个工具进行详细的演示和说明。如果把所有工具的详细步骤和使用相关注意事项都说一遍的话,篇幅量是相当大的。
持续更新中,敬请期待~
赞 (0)