「这是我参与11月更文挑战的第23天,活动详情查看:2021最后一次更文挑战」。
jps(虚拟机进程状况工具)
jps可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main Class,main()函数所在的类)名称以及这些进程的本地虚拟机唯一ID(LVMID)。
jps执行样例
主要命令选项
jstat:虚拟机统计信息监视工具
用于监视虚拟机各种运行状态信息的命令行工具。可以显示本地或者远程虚拟机进程中的类加载、内存、垃圾收集、即时编译等运行时数据。
命令
命令格式 : jstat [option vmid [interval count]]
option代表你要查询的类型,vmid和LVMID是一致的,interval和count代表查询间隔和次数。如果省略这两个参数说明只查询一次。
option类型
option主要分为三类:类加载,垃圾收集,运行期编译状况。
S0:Survivor1区当前使用比例
S1:Survivor2区当前使用比例
E:Eden区使用比例
O:老年代使用比例
M:元数据区使用比例
CCS:压缩使用比例
YGC:年轻代垃圾回收次数
FGC:老年代垃圾回收次数
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间
jinfo(Java配置信息工具)
jinfo作用是实时查看和调整虚拟机各项参数。使用jps命令的-v参数可以查看虚拟机启动时指定的参数列表,如果想知道未被显示指定的参数值,就需要
jinfo的-flag来查询。
命令格式
jinfo [ opion ] pid
jmap(JAVA内存映像工具)
jmap用于生成堆转储快照 heapdump或者dump文件。除了获取快照还可以查询finalize执行队列、Java堆和方法区的详细信息,例如空间使用率,
当前用的是哪种收集器等。
命令格式 jmap [ option ] vmid
option选项值
jhat:虚拟机堆转储快照分析工具
jhat用来分析jmap生成的堆转储快照。jhat内置了web服务器,生成的分析结果可以在浏览器查看。
jstack:java堆栈跟踪工具
jstack用于生成虚拟机当前时刻的线程快照。线程快照是当前虚拟机每一条线程正在执行的方法堆栈的集合,生成线程快照目的就是来排查线程出现长时间停顿的原因,例如线程死锁,死循环,请求外部资源导致的长时间挂起等情况。