《深入理解Java虚拟机》读书笔记—-虚拟机性能监控和故障处理工具

微信公众号:[0error] 关注可了解更多的知识干货,也可看看生活杂谈。如有问题或建议,欢迎在公众号留言。

前言:本篇文章是《深入理解Java虚拟机》读书笔记第三篇章,本篇文章并非JVM的重点知识,了解即可。点击跳转第二篇


基础故障处理工具

bin目录

JDK的bin目录下有java.exe、javac.exe这两个命令行工具,除了编译和运行Java程序外,打包、部署、签名、调试、监控、运维等各种场景都可能会用到它们

JPS

JPS是虚拟机进程状况工具,全程JVM Process Status Tool。它可以列出正在运行的虚拟机进程,并显示虚拟机执行主类名称以及这些进程的本地虚拟机唯一 ID。

命令格式

jps [ options ] [ hostid ]

执行示例

jps -l
2388 D:Developglassfishbin..modulesadmin-cli.jar 2764 com.sun.enterprise.glassfish.bootstrap.ASMain 3788 sun.tools.jps.Jps

jstat

jstat是用于监视虚拟机各种运行状态信息的命令行工具。全称是JVM Statistics Monitoring Tool。可以显示本地或者远程虚拟机进程中的类加载、内存、垃圾收集、即时编译等运行时数据。

命令格式

jstat [ option vmid [interval[s|ms] [count]] ]

如果是本地虚拟机进程,VMID与LVMID 是一致的;如果是远程虚拟机进程,那VMID的格式应当是

[protocol:][//]lvmid[@hostname[:port]/servername]

参数interval和count 代表查询间隔和次数,如果省略这2个参数,说明只查询一次。假设需要每250 毫秒查询一次进程2764垃圾收集状况,一共查询20次,那命令应当是

jstat -gc 2764 250 20

选项option代表用户希望查询的虚拟机信息,主要分为三类:类加载、垃圾收集、运行期编译状况。

《深入理解Java虚拟机》读书笔记----虚拟机性能监控和故障处理工具


jinfo

是Java配置信息工具。作用是实时查看和调整虚拟机各项参数。

jmap

是Java内存映像工具。用于生成堆转储快照

jhat

是虚拟机堆转储快照分析工具。与jmap搭配使用,来分析jmap生成的堆转储快照。

jstack

是Java堆栈跟踪工具。用于生成虚拟机当前时刻的线程快照



可视化故障处理工具

JHSDB

JDK中提供了JCMD和JHSDB两个集成式的多功能工具箱,它们不仅整合了所有 基础工具所能提供的专项功能,而且由于有着“后发优势”,能够做得往往比之前的老工具们更好、更强大。

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

使用以下命令进入JHSDB的图形化模式,并使其附加进程11180:

jhsdb hsdb --pid 11180

JConsole

JConsole(Java Monitoring and Management Console)是一款基于JMX(Java Manage-ment Extensions)的可视化监视、管理工具。它的主要功能是通过JMX的MBean(Managed Bean)对系统进 行信息收集和参数动态调整。

VisualVM

VisualVM(All-in-One Java Troubleshooting Tool)是功能最强大的运行监视和故障处理程序之一, 曾经在很长一段时间内是Oracle官方主力发展的虚拟机故障处理工具。

它除了常规的运行监视、故障处理外,还可以做性能分析等工作。因为它的通用性很强,对应用程序影响较小,所以可以直接接入到生产环境中。

VisualVM的插件可以手工进行安装,在网站上下载nbm包后,点击“工具->插件->已下载”菜单,然后在弹出对话框中指定nbm包路径便可完成安装。

Java Mission Control

JMC最初是BEA公司的产品,因此并没有像VisualVM那样一开始就基于自家的Net-Beans平台来开发,而是选择了由IBM捐赠的Eclipse RCP作为基础框架,现在的JMC不仅可以下载到独立程序,更常见的是作为Eclipse的插件来使用。JMC与虚拟机之间同样采取JMX协议进行通信,JMC一方面作为 JMX控制台,显示来自虚拟机MBean提供的数据;另一方面作为JFR的分析工具,展示来自JFR的数据。


原文始发于微信公众号(0error):《深入理解Java虚拟机》读书笔记—-虚拟机性能监控和故障处理工具

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/21986.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!