深入理解JVM之虚拟机性能监控、故障处理工具

1.概述

给一个系统定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。这里说的数据包括但不限于异常堆栈、虚拟机运行日志、垃圾收集器日志、线程快照(threaddump/javacore文件)、堆转储快照(heapdump/hprof文件)等。恰当地使用虚拟机故障处理、分析的工具可以提升我们分析数据、定位并解决问题的效率。

  1. 基础故障处理工具

JDK的bin目录文件下的工具主要是用于监视虚拟机运行状态进行故障处理。根据软件可用性和授权的不同,可以把他们划分为三类:商业授权工具、正式支持工具和实验性工具。

主要指令

jps:主要用于输出虚拟机进程状况信息

jstat:主要用于虚拟机统计信息监视

jinfo:主要用于实时查看和调整虚拟机各项参数

jmap:主要用于生成堆转储快照,堆转储快照即某个时间点应用程序内存的快照

jhat:与jamp搭配使用,用于分析jamp生成的堆转储快照

jstack:用于生成虚拟机当前时刻的线程快照,线程快照即当前虚拟机内每一条线程正在执行的方法堆栈的集合。

  1. 可视化故障处理工具

四种可视化工具

使用可视化工具可以更加便捷地进行故障诊断和调试。这类工具主要包括JConsole、JHSDB、VisualVMJMC四个。

JHSDB是一款服务性代理(Serviceability Agent,SA)实现的进程外调试工具

JConsole (Java Monitoring and Management Console)是一款基于JMX (Java Manage-mentExtensions)的可视化监视、管理工具

VisualVM(All-in-One Java Troubleshooting Tool)是功能最强大的运行监视和故障处理程序之一

Java Mission Control:可持续在线的监控工具

4.HotSpot虚拟机插件及工具

Ideal Graph Visualizer:用于可视化展示C2即时编译器是如何将字节码转化为理想图,然后转化为机器码的。

Client Compiler Visualizer:用于查看C1即时编译器生成高级中间表示(HIR),转换成低级中间表示(LIR)和做物理寄存器分配的过程。

MakeDeps:帮助处理HotSpot的编译依赖的工具。

Project Creator:帮忙生成Visual Studio的.project文件的工具。

LogCompilation:将-XX:+LogCompilation输出的日志整理成更容易阅读的格式的工具。·HSDIS:即时编译器的反汇编插件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值