虚拟机性能监控工具和故障处理工具

一、基础故障处理工具

其主要是用来监视虚拟机的运行状态和进行故障处理,根据可用性个授权的不同可以分为三类:

1 . 商业授权工具:主要是 JMC (Java Mission Control)及它要用到的 JFE。
2 . 正式支持工具:属于被长期支持的工具,不同版本和 JDK 之间会存在差异,
3 . 实验性工具:这类工具在在使用说明中被声明是 “ 没有技术支持的 ” 并且是实验性质的,可转正,也可消失。

JDK开发团队采用 Java 语言来实现故障处理工具的原因:当应用程序被部署到生产环境中后,无论是人工物理接触还是远程 Telnet 到服务器上都可能会受到限制。

(1)jsp :虚拟机进程状况工具

功能 :用于列出正在运行的虚拟机进程,并显示虚拟机执行主类名称以及进程的本地虚拟机唯一 ID ,还可一通过 RMI 协议查询开启了 PMI 服务的远程虚拟机进程状态,参书 hostid 为 RMI 注册表中注册的主机名。

特点 :使用频率做高的 JDK 命令行工具,因为其他工具需要输入他来查询 LVMID 来确定监控的时哪一个虚拟机进程,如果同时启动多个虚拟机进程,无法根据进程名称来定位时,就必须使用 jps 命令显示主类的功能才能区分。

jps 命令格式 : jsp [ options ] [ hostid ]

(2)jstat :虚拟机统计信息监视工具

功能 :用于监视虚拟机各种运行状态信息的命令行工具,它可以显示本地或者远程虚拟机进程中的类加载,内存,垃圾收集,即时编译等运行数据 ,在没有 GUI 图形界面,只提供纯文本控制台环境的服务器上,它将是运行期定位虚拟机性能问题得常用工具。

jstat 命令格式 : jatat [ option vmid [ interval [s | ms ] [ count ] ] ]

(3)jinfo :Java 配置信息工具

功能 :用于是实时查看和调整虚拟机各项参数

jinfo 命令格式 :jinfo [ option ] pid

(4)jmap:Java 内存映像工具

功能 :用于生成堆转储快照,查询 finalize 执行队列,Java堆和方法去的详细信息,如空间使用率,当前用的时那种收集器。

jmap 命令格式 :jmap [ option ] vmid

(5)jhat:虚拟机堆转储快照分析工具

功能 :jhat 命令与 jmap 命令搭配使用,来分析 jmap 生成的堆转储快照。但是一般不会使用并不常用,主要是因为该命令功能简陋,分析花费时间长,消耗大量硬件资源。

(6)jstack :Java堆栈跟踪工具

功能 :用于生成虚拟机当前时刻的线程快照,线程快照就是当前虚拟机中每一条线程正在执行的方法堆栈集合,生成线程快照的目的通常都是定位线程出现长时间的停顿的原因,如线程死锁,死循环,请求外部资源导致的长时间挂起等。

jatack 命令格式 :jstack [ option ] vmid

二、可视化故障处理工具

JDK 除了附带大量命令行工具之外,还附带了几个功能集成度更高的可视化工具,主要包括JConsole ,JHSFB,VisualVm 和 JMC。

(1)JHSDB:基于服务型代理的调试工具

它是一款基于服务性代理实现的进程外调试工具,服务性代理是 HotSpot 虚拟机中一组用于映射 Java 虚拟机运行信息的,主要是基于Java 语言实现的 API 集合。

(2)JComsole:Java 监控与管理控制台

JConsole 是一款基于 JMX 的可视化监视,管理工具。它主要的功能就是通过 JMX 的MBean 对系统进行信息收集和参数动态调整。(JMX :即Java 管理扩展,是一个应用程序,设备,系统等植入管理功能的框架)

(3)VisualVM:多合 - 故障处理工具

VisualVM 是功能最强大的运行监视和故障处理程序之一,它除了常规的运行监视,故障处理外,还提供了其他方面的能力,比如性能分许。优点:不需要被监视的程序基于特殊的Agent 去运行,因此它的通用性很强,对应用程序实际性能的影响小,使得它可以直接应用在生产环境中。

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

JFR 是一套内建在HotSpot 虚拟机里面的监控和基于事件的信息搜集框架,与其他的监控工具相比,有可持续在线的特性。并且 JFR 在监控过程的开始,结束都是完全可动态的,即不需要重启应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值