JVM相关命令查看GC情况

概述

jstat

命令格式

jstat [options] vmid [interval] [count]

参数说明

  • options:选项,一般是-gcutil、-gc查询gc的情况;
  • vmid:vm的进程号,可以使用jps 或者ps -ef|grep 项目名获取
  • interval:间隔时间,单位默认为毫秒
  • count:打印次数,如果缺省则打印无数次

示例说明

jstat -gcutil pid time

获取pid:ps -ef|grep dmq

[root@iot5-test-3 2022-02]# jstat -gcutil 31521 5000
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT   
  0.28   0.00  76.36  63.03  94.81  92.35    156    7.669   285  119.549  127.219
  0.28   0.00  76.70  63.03  94.81  92.35    156    7.669   285  119.549  127.219
  0.28   0.00  77.14  63.03  94.81  92.35    156    7.669   285  119.549  127.219
结果说明

显示内容结果说明:
S0:年轻代中第一个survivor(幸存区)已使用的占当前容量百分比
S1:年轻代中第二个survivor(幸存区)已使用的占当前容量百分比
E:年轻代中Eden(伊甸园)已使用的占当前容量百分比
O:old代已使用的占当前容量百分比
P:perm代已使用的占当前容量百分比
M:method方法区已使用的占当前容量百分比
YGC(young GC count):从程序启动到采样时年轻代垃圾回收次数
YGCT(young GC time):从程序启动到采样时年轻代垃圾回收所用的时间(s)
FGC(full GC count):从程序启动到采样时old代(全gc)次数
FGCT:从程序启动到采样时old代所用的时间(s)
GCT:从应用程序启动到采样时所有gc用的总时间(s)

jstat -gc pid time

[root@iot5-test-3 2022-02]# jstat -gc 31521 5000
 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT   
174592.0 174592.0  0.0   544.1  175104.0  9963.7  1048576.0   660965.9  114292.0 108156.2 14000.0 12929.8    157    7.697  285   119.549  127.247
174592.0 174592.0  0.0   544.1  175104.0 11747.9  1048576.0   660965.9  114292.0 108156.2 14000.0 12929.8    157    7.697  285   119.549  127.247
174592.0 174592.0  0.0   544.1  175104.0 12574.8  1048576.0   660965.9  114292.0 108156.2 14000.0 12929.8    157    7.697  285   119.549  127.247
结果说明

显示内容说明如下:
S0C(survivor 0 capcity):年轻代中第一个survivor(幸存区)的容量(KB)
S1C:年轻代中第二个survivor(幸存区)的容量(KB)
S0U(survivor 0 used):年轻代中第一个survivor目前已经使用的空间(KB)
S1U:年轻代中第二个survivor目前已经使用的空间(KB)
EC:年轻代中Eden(伊甸园)的容量(KB)
EU:年轻代中Eden目前已经使用空间(KB)
OC:Old代的容量(KB)
OU:Old代目前已经使用的空间(KB)
PC:Perm(永久代)的容量(KB)–java7及之前使用Perm名称,主要用来存储字节码,基本上不参与GC分配。
PU:Perm(永久代)目前已使用的空间(KB)–java7及之前使用Perm名称
MC:方法区的容量(KB)–java8之后叫做方法区和Perm类似,主要用来存储字节码,基本上不参与GC分配。
MU:方法区目前已使用的空间(KB)
CCSC(compress class space capcity):压缩类空间容量(KB)
CCSU:压缩空间目前已使用大小(KB)
YGC(young GC count):从程序启动到采样时年轻代垃圾回收次数
YGCT(young GC time):从程序启动到采样时年轻代垃圾回收所用的时间(s)
FGC(full GC count):从程序启动到采样时old代(全gc)次数
FGCT:从程序启动到采样时old代所用的时间(s)
GCT:从应用程序启动到采样时所有gc用的总时间(s)

jmap查看内存细节

参考

Linux使用jstat命令查看jvm的GC情况
JVM性能调优(3) —— 内存分配和垃圾回收调优

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在Linux中,可以使用以下命令查看Java GC(垃圾回收)情况: 1. jstat命令 jstat命令可以用来监视Java虚拟机(JVM)中的各种运行时信息,包括堆内存的使用情况GC情况等。使用jstat命令需要指定以下参数: - -gc:表示要监视GC情况 - [interval]:表示监视的时间间隔,以毫秒为单位,默认为1000毫秒 - [count]:表示监视的次数,默认为无限次 例如,可以使用以下命令每隔5秒钟输出一次JVMGC情况: ``` jstat -gc 5000 ``` 2. jmap命令 jmap命令可以用来生成堆内存的转储文件(Heap Dump),从而可以分析Java应用程序的内存使用情况。使用jmap命令需要指定以下参数: - -dump:表示生成堆转储文件 - [format]:表示转储文件的格式,可以是b、h、f和d等格式 - [file]:表示转储文件的输出路径和文件名 例如,可以使用以下命令生成一个二进制格式的堆转储文件: ``` jmap -dump:format=b,file=heap.bin <pid> ``` 其中,`<pid>`表示Java应用程序的进程ID。 3. jconsole命令 jconsole命令是一个图形化的监控工具,可以用来监视Java应用程序的各种运行时信息,包括内存使用情况、线程状态、GC情况等。使用jconsole命令可以更直观地了解Java应用程序的运行状态。使用jconsole命令时,需要先启动Java应用程序,并将其连接到jconsole。 以上是常用的查看Java GC情况命令,不同的命令适用于不同的场景,可以根据实际情况选择使用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

融极

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

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

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

打赏作者

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

抵扣说明:

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

余额充值