JVM相关命令

# jcmd

通过JPS命令查看Java进程的PID,然后通过JCMD命令查看Java进程的启动参数。

# 打印VM参数
jcmd <PID> VM.flags
# 打印线程堆栈
jcmd <PID> Thread.print
#打印堆空间大小和GC情况
jcmd <PID> GC.heap_info

# 触发GC
jcmd <PID> GC.run
1
2
3
4
5
6
7
8
9

# jmap

# 打印堆内存使用情况
jmap -heap <PID>
# 打印堆内存中对象的统计信息
jmap -histo <PID>
# 转储堆内存到文件
jmap -dump:format=b,file=<file> <PID>

1
2
3
4
5
6
7

# jstack

# 打印线程堆栈
jstack <PID>

# 打印线程堆栈到文件
jstack <PID> > <file>

1
2
3
4
5
6

# jstat

# 查看GC情况
jstat -gc <PID>
# 查看GC情况,每隔1000ms打印一次,打印10次
jstat -gc <PID> 1000 10
1
2
3
4

# 字段意义

S0C:第一个幸存区的大小,单位KB
S1C:第二个幸存区的大小
S0U:第一个幸存区的使用大小
S1U:第二个幸存区的使用大小
EC:伊甸园区的大小
EU:伊甸园区的使用大小
OC:老年代大小
OU:老年代使用大小
MC:方法区大小(元空间)
MU:方法区使用大小
CCSC:压缩类空间大小
CCSU:压缩类空间使用大小
YGC:年轻代垃圾回收次数
YGCT:年轻代垃圾回收消耗时间,单位s
FGC:老年代垃圾回收次数
FGCT:老年代垃圾回收消耗时间,单位s
GCT:垃圾回收消耗总时间,单位s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# jinfo

# 查看Java进程的启动参数
jinfo <PID>

1
2
3
上次更新: 2025/01/08, 15:27:56
最近更新
01
docker-compose笔记
01-12
02
MySQL数据迁移
11-27
03
Docker部署服务,避免PID=1
11-27
更多文章>