小学妹问我:如何利用可视化工具排查问题?
关注“Java后端技术全栈”
回复“000”获取大量电子书
有关JVM问题排查的可视化工具有很多,比如说JDK自带的jconsole、jvsualvm等,第三方有MAT、GChisto、GCView等。

jconsole查看内存回收情况

jconsole
工具在JDK的bin目录下。

选中自己的进程,进入,会提示不安全的链接,继续点进去

就会看到整个JVM
的概览

可以查看线程已经内存使用情况

还可以选中看JVM内存中某一块,比如说新生代的Eden区、Survivor区、老年代等。

还可以看VM概要,具体数据请看图中的内容

远程连接请参考:
https://blog.csdn.net/u012758...
jvisualvm查看内存回收情况

jvisualvm工具在JDK的bin目录下。,用法和jconsole
类似;
双击

选择我们的进程

这个概述的东西相对较少

监视整体情况,CPU、堆、类、线程的情况

查看线程相关的数据

进入Profiler,点击内存,然后进入分析阶段,下面就会展示内存中对象的数据

在工作中就可以进行查看内存中对象的情况。
远程连接课请参考:
https://my.oschina.net/u/2300...
第三方工具

MAT
Java 堆内存分析工具。
GChisto
GC 日志分析工具。
GCViewer
GC
日志分析工具。
JProfiler
商用的性能分析利器。
arthas
阿里开源诊断工具。
async-profiler
Java 应用性能分析工具,开源、火焰图、跨平台。
关于第三方工具的使用,后面会有文章对每一个工具进行详细的演示和说明。如果把所有工具的详细步骤和使用相关注意事项都说一遍的话,篇幅量是相当大的。
持续更新中,敬请期待~
推荐阅读:
《Spring Cloud与Docker微服务架构实战》.pdf
版权声明: 本文为 InfoQ 作者【田维常】的原创文章。
原文链接:【http://xie.infoq.cn/article/2514f9ddbec6c3056f6ec9cd9】。文章转载请联系作者。
评论