JVM原理(八):JVM虚拟机工具之基础故障工具

这里主要介绍监视虚拟机运行状态和进行故障处理的工具

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 14108
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT
  0.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
相关推荐
大大大大物~16 分钟前
JVM 之 线上诊断神器Arthas实战【内部原理?常用命令?如何使用Arthas排查cpu飙高、类加载问题、死锁、慢接口等线上问题?】
jvm·oom·arthas
zfj32142 分钟前
排查java应用内存溢出的工具和方法
java·开发语言·jvm·内存溢出
【非典型Coder】3 小时前
volatile 的顺序性和可见性原理详解
jvm
SRETalk4 小时前
SRE 踩坑记:JVM 暂停竟然是因为日志
jvm·stw
小飞Coding5 小时前
🔍 你的 Java 应用“吃光”了内存?别慌,NMT 帮你揪出真凶!
jvm·后端
小飞Coding5 小时前
Java堆外内存里的“密文”--从内存内容反推业务模块实战
jvm·后端
【非典型Coder】6 小时前
JVM 垃圾收集器中的记忆集与读写屏障
java·开发语言·jvm
大大大大物~6 小时前
JVM 之 内存溢出实战【OOM? SOF? 哪些区域会溢出?堆、虚拟机栈、元空间、直接内存溢出时各自的特点?以及什么情况会导致他们溢出?并模拟溢出】
java·jvm·oom·sof
Tan_Ying_Y7 小时前
JVM性能检测及调优
jvm