JVM实战-常用命令

1)jps

# 查看java进程(显示主类全名)
jps -l
# 查看java进程(运行传入主类的参数)
jps -m
# 查看java进程(显示JVM参数)
jps -v

2)jstat

查看JVM统计信息,查看类加载、内存、垃圾收集、JIT编译信息。

官方文档

https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html

# 查看options参数的帮助
jstat -options -help
# 每1秒打印一次GC信息
jstat -gcutil 16876 1000
# 每1秒打印一次GC信息,共打印10次
jstat -gcutil 16876 1000 10
# 查看垃圾收集信息
jstat -gc 16876 1000 10
# 查看类装载信息
jstat -class 16876 1000
# 每1秒打印一次GC信息
jstat -gcutil 16876 1000
-------------------------
S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT
0.00  99.56  52.16  18.72  81.15  84.83      1    0.005     0    0.000    0.005
0.00  99.56  52.16  18.72  81.15  84.83      1    0.005     0    0.000    0.005
... ...
0.00   0.00  36.73  72.19  81.16  84.83      3    0.017     1    0.119    0.135
0.00   0.00  36.73  72.19  81.16  84.83      3    0.017     1    0.119    0.135
-------------------------
S0:表示Survior的from区
S1:表示Survior的to区
E: 表示Eden区
O: 表示Old区
M: 表示Metaspace
CCS:
YGC:  表示Young GC次数
YGCT: 表示Young GC时间,单位秒
FGC:  表示Full GC次数
FGCT: 表示Full GC时间,单位秒
GCT:  表示Young GC和Full GC的总时间
# 查看垃圾收集信息
jstat -gc 16876 1000 10
-------------------------
 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT
1536.0 1536.0  0.0    0.0   10240.0   4204.4   27648.0      0.0     4480.0 775.1  384.0   76.4       0    0.000   0      0.000    0.000
1536.0 1536.0  0.0    0.0   10240.0   4541.0   27648.0      0.0     4480.0 775.1  384.0   76.4       0    0.000   0      0.000    0.000
1536.0 1536.0  0.0    0.0   10240.0   4541.0   27648.0      0.0     4480.0 775.1  384.0   76.4       0    0.000   0      0.000    0.000
-------------------------
S0C:年轻代中 To Survivor 的容量(单位 KB);
S1C:年轻代中 From Survivor 的容量(单位 KB);
S0U:年轻代中 To Survivor 目前已使用空间(单位 KB);
S1U:年轻代中 From Survivor 目前已使用空间(单位 KB);
EC: 年轻代中 Eden 的容量(单位 KB);
EU: 年轻代中 Eden 目前已使用空间(单位 KB);
OC: 老年代的容量(单位 KB);
OU: 老年代目前已使用空间(单位 KB);
MC: 元空间的容量(单位 KB);
MU: 元空间目前已使用空间(单位 KB);
YGC: 从应用程序启动到采样时年轻代中 gc 次数;
YGCT:从应用程序启动到采样时年轻代中 gc 所用时间 (s);
FGC: 从应用程序启动到采样时 老年代(Full Gc)gc 次数;
FGCT:从应用程序启动到采样时 老年代代(Full Gc)gc 所用时间 (s);
GCT: 从应用程序启动到采样时 gc 用的总时间 (s)。

3)jinfo

实时调整和查看JVM参数。

jinfo -XX:option=value

# 查看java进程信息(含JVM、系统环境变量等信息)
jinfo 16876
# 查看JVM的flag信息
jinfo -flags 16876
# 查看指定名称的flag信息
jinfo -flag UseG1GC 16876
# 启用或禁用指定名称的JVM标志,只有被标记为manageable的flags可以被实时修改
jinfo -flag [+|-]name PID
# 设置指定flag名称的值
jinfo -flag name=value PID

4)jmap

# 查看堆内存相关信息
jmap -heap PID
# 转储堆栈信息到文件
jmap -dump:format=b,file=filepath PID
# 查看存活对象
jmap -histo:live PID

5)jstack

查看线程堆栈信息,可用于分析死锁的情况。

jstack PID
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白云coy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值