二十一、JVM可视化监控工具

一、概述

1、命令行工具的缺陷

1、使用命令行工具或组合能获取目标Java应用性能相关的基础信息,但存在以下缺陷:
  • 无法获取方法级别的分析数据,如方法间的调用关系、各方法的调用次数和调用时间等。
  • 需要登录到目标Java应用所在的服务器上,使用不方便。
  • 分析数据通过终端输出,结果展示不直观。

2、图形化诊断工具

1、JDK自带的工具
  • jconsole:JDK自带的可视化监视工具,查看Java应用程序的运行概况、监控堆信息、永久区(元空间)使用情况、类加载情况等。在JDK的bin目录下的jconsole.exe。
  • VisualVM:提供了一个可视化界面,用于查看Java虚拟机上运行的基于Java技术的应用程序的详细信息,在JDK的bin目录下的jvisualvm.exe。
  • JMC:Java Mission Control,内置Java Flight Recorder,能够以极低的性能开销收集Java虚拟机性能数据
2、第三方工具
  • MAT:Memory Analyzer Tool是基于Eclipse的内存分析工具,是一个快速、功能丰富的Java Heap分析工具,可以帮助查找内存泄漏和减少内存消耗,Eclipse的插件形式。
  • JProfiler:商业软件,需要付费,功能强大,与VisualVM类似。
  • Arthas:阿里巴巴开源的Java诊断工具。
  • Btrace:Java运行时追踪工具,可以在不停机的情况下,跟踪指定的方法调用、构造函数调用和系统内存等情况。

二、JConsole:Java监视与管理控制台

1、概述

1、JConsole(Java Monitoring and Management Console)是一款基于JMX(Java Manage-ment Extensions)的可视化监视、管理工具。它的主要功能是通过JMX的MBean(Managed Bean)对系统进行信息收集和参数动态调整。JMX是一种开放性的技术,不仅可以用在虚拟机本身的管理上,还可以 运行于虚拟机之上的软件中,典型的如中间件大多也基于JMX来实现管理与监控。虚拟机对JMX MBean的访问也是完全开放的,可以使用代码调用API、支持JMX协议的管理控制台,或者其他符合JMX规范的软件进行访问。
2、从Java5开始,在JDK中自带的Java监控与管理控制台,用于对JVM中内存、线程和类等的监控。

2、启动JConsole方式

1、命令行方式启动:直接输入jconsole
2、在JDK安装bin目录找到jconsole.exe双击

二十一、JVM可视化监控工具

二十一、JVM可视化监控工具

5、线程监控

1、线程Tab页面:作用相当于可视化的jstack命令,遇到线程停顿的时候可以使用此页面的功能进行分析。
2、
1、程序运行后,查看监控的ThreadLoop线程,ThreadLoop线程一直在执行空循环,从堆栈追踪中看到一直在ThreadLoopTest.java代码的11行停留,11行的代码为while(true)。

二十一、JVM可视化监控工具

来源:小幸运安然

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年7月12日
下一篇 2022年7月12日

相关推荐