java虚拟机性能监控_虚拟机性能监控工具

前言

JVM调优流行这么一句话“无监控不调优”,因为如果没有监控,就不知道虚拟机的运行状况。更谈不上调优了,所以,学习和了解Java 虚拟机的监控工具很有必要。

概述

在Java虚拟机中经常用到的数据包括:运行日志、异常堆栈、GC日志、线程快照(ThreadDump/Javacore文件)、堆转储快照(和安排dump/hprof文件)等,经常使用适当的虚拟机监控和分析工具可以加快我们分析数据、定位解决问题的书读。

JDK的命令行工具

我们都知道JDK的bin目录下有java.exe和javac.exe命令,但是对其他命令不甚了解。bin目录下的工具包括:

722287736a8c21ca67b18f0b5b4f7080.png

sun JDK监控和故障处理工具

名称

主要作用

jps

JVM Process Status Tool,显示指定系统内部所有的Hotspot虚拟机进程

jstat

JVM Statistics Monitoring Tool,用于收集Hotspot虚拟机各方面的运行数据

jinfo

Configuration Info for Java,显示虚拟机配置信息

jmap

Memory Map for Java,用于生成虚拟机的内存转储快照(heapdump文件)

jhat

JVM Head Dump Browser,用于分析heapdump文件,会建立一个HTTP/HTML服务器

jstack

Stack Trace for Java,显示虚拟机的线程快照

jps:虚拟机进程状况工具

功能和UNIX的ps命令类似:可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main Class,main()函数所在的类)名称以及这些进程的本地唯一虚拟机ID(Local Virtaul Machine Idenifier,LVMID). 命令格式: jps [options] [hostid]

主要选项:

选项

作用

-q

只输出LVMID,省略主类的名称

-m

输出虚拟机进程启动类时传递给主类main()函数的参数

-l

输出主类的全名,如果进程执行的是jar,输出Jar路径

-v

输出虚拟机进程启动时JVM参数

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

jstat(JVM statistics Monitoring Tool)是用于见识虚拟机各种运行状态信息的命令行工具。它可以显示本地或者远程虚拟机进程的类装载、内存、垃圾收集 JIT编译等运行数据,它将是运行期定位虚拟机性能问题的首选工具。 命令格式: jstat [option vmid [interval[ s| ms] [count] ] 参数interval和count代表查询间隔和次数,如果省略这两个参数,说明只查询一次。

对于命令格式中的VMID与LVMID需要特别说明一下:如果是本地虚拟机进程,VMID和LVMID是一致的,如果是hi远程虚拟机进程,nameVMID的格式为: [protocol:][//] lvmid[@hostname[:port]/servername]

主要选项:

选项

作用

-class

监视类装载、卸载数量、总空间以及类装载所消耗的时间

-gc

监视Java堆状况,包括Eden区、两个survivor区、老年代、永久代等的容量、已用空间、GC时间合计等信息

-gccapacity

监视内容与-gc基本型相同,但是输出主要关注Java堆各个区域使用的最大、最小空间

-gcutil

监视内容与-gc基本相同,但是输出主要关注已使用空间占总空间的百分比

-gccause

与-gcutil功能一样,但是会额外输出导致上一次GC产生的原因

-gcnew

监视新生代GC状况

-gcold

监视老年代GC状况

jinfo:Java配置信息工具

jinfo(Configuration Info for Java)的作用是实时地查看和调整虚拟机各项参数。 jinfo格式: jinfo [option] pid

JDK可视化工具

jconsole和visualvm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值