jvm监控及诊断工具概述

概述

使用命令行工具jstat、jmap、jinfo或组合jcmd能帮您获取目标]ava应用性能相关的基础信息,但它们存在下列局限:

  1. 无法获取方法级别的分析数据,如方法间的调用关系、各方法的调用次数和调用时间等(这对定位应用性能瓶颈至关重要)。
  2. 要求用户登录到目标了ava应用所在的宿主机上,使用起来不是很方便。
  3. 分析数据通过终端输出,结果展示不够直观。为此,JDK提供了一些内存泄漏的分析工具,如jconsole,jvisualvm等,用于辅助开发人员定位问题,但是这些工具很多时候并不足以满足快速定位的需求。所以这里我们介绍的工具相对多一些、丰富一些。

图形化综合诊断工具

JDK自带的工具

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

接下来在我的博客中会对以上工具进行讲解

猜你喜欢

转载自blog.csdn.net/lyd135364/article/details/121455203