Linux 使用 jstat 命令查看 jvm 的 GC 情况

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

Options,选项,我们一般使用 -gcutil 查看gc情况 vmid,VM的进程号,即当前运行的java进程号 interval,间隔时间,单位为秒或者毫秒 count,打印次数,如果缺省则打印无数次。

通常运行命令如下:

jstat -gc 12538 5000

即会每5秒一次显示进程号为12538的java进成的GC情况,

显示内容如下图:

jstat -gcutil 28363 1s 

jstat -gccause pid 1 每格1毫秒输出结果
jstat -gccause pid 2000 每格2秒输出结果

1

<br><br>jstat -gc 21711 250 4<br>vmid是虚拟机ID,在Linux/Unix系统上一般就是进程ID。interval是采样时间间隔。count是采样数目。比如下面输出的是GC信息,采样时间间隔为250ms,采样数为4

说明

1

2

3

4

5

6

7

S0C、S1C、S0U、S1U:Survivor 0/1区容量(Capacity)和使用量(Used)

EC、EU:Eden区容量和使用量

OC、OU:年老代容量和使用量

PC、PU:永久代容量和使用量

YGC、YGT:年轻代GC次数和GC耗时

FGC、FGCT:Full GC次数和Full GC耗时

GCT:GC总耗时<br><br>

显示内容说明如下(部分结果是通过其他其他参数显示的,暂不说明):

S0C:年轻代中第一个survivor(幸存区)的容量 (字节)         

S1C:年轻代中第二个survivor(幸存区)的容量 (字节)         

S0U:年轻代中第一个survivor(幸存区)目前已使用空间 (字节)         



S1U:年轻代中第二个survivor(幸存区)目前已使用空间 (字节)         

EC:年轻代中Eden(伊甸园)的容量 (字节)         

EU:年轻代中Eden(伊甸园)目前已使用空间 (字节)         

OC:Old代的容量 (字节)         

OU:Old代目前已使用空间 (字节)         

PC:Perm(持久代)的容量 (字节)         

PU:Perm(持久代)目前已使用空间 (字节)         

YGC:从应用程序启动到采样时年轻代中gc次数         

YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)         

FGC:从应用程序启动到采样时old代(全gc)gc次数         

FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)         

GCT:从应用程序启动到采样时gc用的总时间(s)         

NGCMN:年轻代(young)中初始化(最小)的大小 (字节)         

NGCMX:年轻代(young)的最大容量 (字节)         

NGC:年轻代(young)中当前的容量 (字节)         

OGCMN:old代中初始化(最小)的大小 (字节)         

OGCMX:old代的最大容量 (字节)         

OGC:old代当前新生成的容量 (字节)         

PGCMN:perm代中初始化(最小)的大小 (字节)         

PGCMX:perm代的最大容量 (字节)           

PGC:perm代当前新生成的容量 (字节)         

S0:年轻代中第一个survivor(幸存区)已使用的占当前容量百分比         

S1:年轻代中第二个survivor(幸存区)已使用的占当前容量百分比         

E:年轻代中Eden(伊甸园)已使用的占当前容量百分比         

O:old代已使用的占当前容量百分比         

P:perm代已使用的占当前容量百分比         

S0CMX:年轻代中第一个survivor(幸存区)的最大容量 (字节)         

S1CMX :年轻代中第二个survivor(幸存区)的最大容量 (字节)         

ECMX:年轻代中Eden(伊甸园)的最大容量 (字节)         

DSS:当前需要survivor(幸存区)的容量 (字节)(Eden区已满)         

TT: 持有次数限制         

MTT : 最大持有次数限制

参考:

http://www.open-open.com/lib/view/open1390916852007.html   

http://www.aiuxian.com/article/p-2032660.html

http://blog.csdn.net/u011202334/article/details/51498108              

 

转自:https://www.cnblogs.com/qmfsun/p/5601734.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值