JVM监控工具

 

JPS(虚拟机进程状态工具)

参数 含义
-m 传递给main函数的参数
-l

输出的类名为完整的包名

如果是运行的是jar,则初始化jar名称

-v 传递给JVM的-D参数
-V 通过.hotspotrc文件传递给JVM的参数
-q 只输出进程id

 

 

 

jinfo(虚拟机配置信息工具)

参数 含义
-sysprops 类似getProperties()打出的内容
-flag

打印指定的参数,也可以增加和删除

或者设置指定的参数

-flags 打印所有的JVM参数

 

 

 

jstack(虚拟机堆栈信息工具)

参数 含义
-F 强制输出线程堆栈
-l 显示关于锁的附加信息
-m 显示本地函数的调用栈

 

 

 

jmap(内存映像工具)

参数 含义
-heap

显示jvm堆详细信息,如使用的垃圾回收器,参数配置

分代状况等

-dump

生成java堆转储快照,格式为 :

-dump:[live,]format=b,file=<filename>

其中live子参数只dump出活跃的对象

-histo 显示堆中对象统计信息,包括类,实例数量和合计容量
-permstat 以classloader为统计口径显示持久带内存状态
-F 强制生成dump快照
-finalzerinfo

显示在F-Queue中等待Finalizer线程执行finalize方法的

对象

 

 

 

jstat(虚拟机统计信息监控工具)

参数 含义
-t 在一行的最开始头打印时间戳
-h 指定多少行打印一次头信息
interval 两次打印的时间间隔,默认ms,可以指定为s
count 打印多少次

 

options参数

参数 含义
-class 监视类加载,卸载数量,总空间以及类加载所耗费的时间
-compiler 输出JIT编译器编译过的方法,耗时等信息
-gc

监视jvm堆状况,包括Eden区,2个survivor区,老年代,

持久带等容量,已经空间,GC等信息

-gccapacity

监控内容与-gc基本相同,但输出主要关注java堆各个

区域使用到的最大和最小空间

-gccause

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

-gcnew 监视年轻带gc情况
-gcnewcapacity

监视内容与-gcnew基本相同,输出主要关注使用到的最大和

最小空间

-gcold 监视老年代gc情况
-gcoldcapacity

监视内容与-gcold基本相同,输出主要关注使用到的最大和

最小空间

-gcpermcapacity

输出持久带使用到的最大和最小空间

-gcutil

监控内容与-gc基本相同,但输出主要关注已使用空间占

总空间的百分比

-printcompilation 输出已经被JIT编译的方法

 

 

 

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

参数 含义
 -stack 关闭跟踪对象分配调用堆栈(默认true)
 -ref 关闭跟踪对象的引用(默认true) 
 -port 设置http server的端口(默认7000) 
 -debug 默认0不开启,指定一个debug级别 
-exclude 指定需要排除的文件列表
-baseline 指定一个基线堆转储

 

 

 

jstatd

启动jvm监控服务。它是一个基于rmi的应用,向远程机器提供本机jvm应用程序的信息。默认端口1099。

 

 

 

 

参考:

 

JDK工具

JVM监控工具介绍

jhat命令

5款式java性能分析工具对比 

 

 

 

 

你可能感兴趣的:(JVM监控工具)