这里主要介绍监视虚拟机运行状态和进行故障处理的工具
1. jsp:虚拟机进程状况工具
jsp命令格式:
jsp [options] [hostid]
jps远程查询虚拟机进程状态
2. jstat:虚拟机统计信息监视工具
jstat命令格式:
jstat [option vmid [interval [s|ms] [count]]]
option:选项
vmid:进程号
interval 查询间隔时间
count 查询次数
C:\Users\user>jstat -gcutil 14108S0 S1 E O M CCS YGC YGCT FGC FGCT GCT0.00 0.00 11.76 49.79 95.30 88.05 295 1.663 1 1.156 2.819
E 新生代百分比11.76%
s0和s1 代表两个survivor区,我们可以看到里面是空的
O 老年代,使用了49.79%
P 永久代
YGC MinorGC使用了295次
FGC FullFC使用了1次
FGCT 表示FullGC的总耗时
GCT 所有GC的耗时
3. jinfo:Java配置信息工具
jinfo的作用是实时查看和调整虚拟机的各项参数。
4. jmap:Java内存映像工具
jmap命令用于生成堆转储快照。
jmap [option] vmid
示例:
jmap -dump:format=b,file=eclipse.bin 3500
5. jhat:虚拟机堆转储快照分析工具
JD提功jhat命令与jmap搭配使用,来分析jmap生成的堆转储快照。
6. jstack:Java堆栈跟踪工具
jstack命令用于生成虚拟机当前时刻的线程快照。线程快照就是当前虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的目的通常是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间挂起等,都是导致线程长时间停顿的常见原因。线程出现停顿时通过jstack来查看各个线程的调用堆栈,就可以获知没有响应的线程到底在后台做些什么事情,或者等待着什么资源。
jstack [option] vmid