jstat命令使用

摘要:
]]选项;用于显示系统运行时间-h。
jstat命令使用

jstat是JDK自带的一个轻量级小工具,全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。

命令格式
➜  ~ jstat -help
Usage: jstat -help|-options
       jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
  • option:参数选项
  • -t:可以在打印的列加上TImestamp列,用于显示系统运行时间
  • -h:在周期性输出数据时,指定在输出多少行之后输出一次表头
  • vmid:Virtual Machine,进程的PID
  • interval:每次执行的时间间隔,单位为毫秒
  • count:用于指定输出多少次记录,缺省则会一直打印
jstat -options
➜  ~ jstat -options
-class # 输出ClassLoad相关的信息
-compiler # 输出JIT编译的相关信息
-printcompilation # 输出JIT编译的方法信息
-gc # 输出和GC相关的堆信息
-gccapacity # 输出各个代的容量及使用情况
-gcutil # 输出垃圾收集器的信息
-gccause # 输出GC的相关信息,同时显示最后一次或当前正在发生GC的诱因
-gcmetacapacity # 输出metaspace的大小和使用情况
-gcnew # 输出新生代的信息
-gcnewcapacity # 输出新生代大小和使用情况
-gcold # 输出老年代的信息
-gcoldcapacity # 输出老年代的大小和使用情况
-class
➜  ~ jstat -class <pid>
Loaded  Bytes  Unloaded  Bytes     Time
  9232 17587.8        0     0.0       3.93
  • Loaded:已加载的类的数量
  • Bytes:已加载的类所占用的字节数
  • Unloaded:已卸载的类的数量
  • Bytes:已卸载类的字节数
  • Time:加载和卸载类所花费的时间
-compiler & -printcompilation
➜  ~ jstat -compiler <pid>
Compiled Failed Invalid   Time   FailedType FailedMethod
    5161      0       0     1.46          0
➜  ~ jstat -printcompilation 12757
Compiled  Size  Type Method
    5354      5    1 org/apache/commons/pool2/impl/GenericObjectPool getMaxIdle

-compiler

  • Compiled:编译任务执行的数量
  • Failed:编译任务执行失败的数量
  • Invalid:编译任务执行失效的数量
  • Time:编译任务消耗的时间
  • FailedType:最后一个编译失败任务的类型
  • FailedMethod:最后一个编译失败任务所在的类及方法

-printcompilation

  • Compiled:编译任务执行的数量
  • Size:最近编译方法的字节码数量
  • Type:最近编译方法的编译类型
  • Method:最近编译的方法
-gc
➜  ~ jstat -gc <pid>
 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT
78336.0 78336.0 47364.9  0.0   629760.0 417152.7 1310720.0    120.0    45952.0 44923.2 5760.0 5573.3      2    0.069   0      0.000    0.069
  • S0C:S0区的容量
  • S1C:S1区的容量
  • S0U:S0区已使用的容量
  • S1U:S1区已使用的容量
  • EC:Eden区的容量
  • EU:Eden区已使用的容量
  • OC:Old区的容量
  • OU:Old区已使用的容量
  • MC:MetaSpace区的容量
  • MU:MetaSpace区已使用的容量
  • CCSC:压缩类的容量
  • CCSU:压缩类已使用的容量
  • YGC:YoungGC的次数
  • YGCT:YoungGC耗时
  • FGC:FullGC的次数
  • FGCT:FullGC的耗时
  • GCT:GC总耗时
-gccapacity
➜  ~ jstat -gccapacity <pid>
 NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC         OC       MCMN     MCMX      MC     CCSMN    CCSMX     CCSC    YGC    FGC
786432.0 786432.0 786432.0 78336.0 78336.0 629760.0  1310720.0  1310720.0  1310720.0  1310720.0      0.0 1089536.0  45952.0      0.0 1048576.0   5760.0      2     0
  • NGCMN:年轻代初始化的最小容量
  • NGCMX:年轻代初始化的最大容量
  • NGC:当前年轻代的实际容量
  • S0C:S0区的容量
  • S1C:S1区的容量
  • EC:Eden区的容量
  • OGCMN:老年代初始化的最小容量
  • OGCMX:老年代初始化的最大容量
  • OGC:当前老年代的实际容量
  • OC:当前老年代的实际容量(与OGC什么区别?)
  • MCMN:MetaSpace初始化的最小容量
  • MCMX:MetaSpace初始化的最大容量
  • MC:当前MetaSpace的实际容量
  • CCSMN:压缩类的最小容量
  • CCSMX:压缩类的最大容量
  • XXSC:压缩类的当前容量
  • YGC:从启动到现在YoungGC的次数
  • FGC:从启动到现在FullGC的次数
-gcutil & -gccause
➜  ~ jstat -gcutil <pid>
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT
 60.46   0.00  67.09   0.01  97.76  96.76      2    0.069     0    0.000    0.069
➜  ~ jstat -gccause <pid>
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT    LGCC                 GCC
 60.46   0.00  67.09   0.01  97.76  96.76      2    0.069     0    0.000    0.069 Allocation Failure   No GC
  • S0:S0区已使用的百分比
  • S1:S1区已使用的百分比
  • E:Eden区已使用的百分比
  • O:Old区已使用的百分比
  • M:MetaSpace区已使用的百分比
  • CCS:不知道???
  • YGC:从启动到现在YoungGC执行次数
  • YGCT:最后一次执行YoungGC所消耗的时间
  • FGC:从启动到现在FullGC的执行次数
  • FGCT:最后一次执行FullGC所消耗的时间
  • GCT:最后一次YoungGC+FullGC消耗的时间
  • 我---是---分---割---线
  • LGCC:最后一次GC发生的原因
  • GCC:当前GC的原因,No GC表示当前没有执行GC
-gcmetacapacity
➜  ~ jstat -gcmetacapacity <pid>
   MCMN       MCMX        MC       CCSMN      CCSMX       CCSC     YGC   FGC    FGCT     GCT
       0.0  1089536.0    45952.0        0.0  1048576.0     5760.0     2     0    0.000    0.069
  • MCMN:MetaSpace的最小容量
  • MCMX:MetaSpace的最大容量
  • MC:当前MetaSpace的容量
  • CCSMN:压缩类空间的最小容量
  • CCSMX:压缩类空间的最大容量
  • CCSC:当前压缩类空间的容量
  • YGC:从启动到现在YoungGC执行次数
  • FGC:从启动到现在FullGC的执行次数
  • FGCT:最后一次执行FullGC所消耗的时间
  • GCT:最后一次YoungGC+FullGC消耗的时间
-gcnew & -gcnewcapacity
➜  ~ jstat -gcnew <pid>
 S0C    S1C    S0U    S1U   TT MTT  DSS      EC       EU     YGC     YGCT
78336.0 78336.0 47364.9    0.0 15  15 78336.0 629760.0 444596.5      2    0.069
➜  ~ jstat -gcnewcapacity <pid>
  NGCMN      NGCMX       NGC      S0CMX     S0C     S1CMX     S1C       ECMX        EC      YGC   FGC
  786432.0   786432.0   786432.0  78336.0  78336.0  78336.0  78336.0   629760.0   629760.0     2     0

简单解释一下这几个参数,其它参数应该都知道了。

  • TT:对象在新生代存活的次数?
  • MTT:对象在新生代存活的最大次数?
  • DSS:期望的幸存区容量
-gcold & -gcoldcapacity
➜  ~ jstat -gcold <pid>
   MC       MU      CCSC     CCSU       OC          OU       YGC    FGC    FGCT     GCT
 45952.0  44923.2   5760.0   5573.3   1310720.0       120.0      2     0    0.000    0.069
➜  ~ jstat -gcoldcapacity <pid>
   OGCMN       OGCMX        OGC         OC       YGC   FGC    FGCT     GCT
  1310720.0   1310720.0   1310720.0   1310720.0     2     0    0.000    0.069

上面的参数理解了,这些参数应该没什么问题了。

免责声明:文章转载自《jstat命令使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇VMware网络设置详解--不错为maven设置代理下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#中析构函数,命名空间及字符串的运用(Ninth day)

又到了总结知识的时间了,今天在云和学院学习了析构函数,命名空间及字符串的处理,现在就为大家总结下来。 理论: 析构函数 不能在结构中定义析构函数。只能对类使用析构函数。 一个类只能有一个析构函数。 无法继承或重载析构函数。 无法调用析构函数。它们是被自动调用的。 析构函数既没有修饰符,也没有参数。 命名空间 •namespace(命名空间),用于解决类重...

vue-cli3使用less全局变量,不用每个组件引入less文件(亲测有效)

问题: 在global.less文件中定义一些全局使用的less变量; 结果组件使用这些全局变量时,都要@import "~@/styles/global.less"引入该文件,否则报错 解决方法和步骤 1. 安装style-resources-loader yarn add style-resources-loader 2. 在vue.config.j...

dump redo日志文件的信息

通常会用到以下两个命令:1.'alter session'命令用来dump redo日志的文件头2.'alter system dump logfile'命令用来dump redo文件的内容 以上命令也可以对归档日志进行dump。输出结果存放在session的trace文件中。 可以根据以下方式对redo日志进行dump:(1) To dump recor...

Linux中的输入输出重定向

  有三个最重要的输入输出流:标准输入(stdin),标准输出(stdout),标准错误(stderr)。它们对于控制台(“控制台”指的是键盘用于输入,屏幕用于输出)来说是缺省的,但是它们可以被重定向。   重定向标准输出:可以使用“>”符号, 举例:   dir my_dir > filelisting.txt                ...

HTML本地存储和离线存储

本地存储和离线存储 课程介绍 1.本地存储——Web Storage 2.本地存储——IndexedDB 3.本地存储的扩展介绍 4.离线存储——app cache 5.总结 Cookie的局限性 1.存储大小限制,仅4kb左右 2.单个域名下的数量限制,50个左右 3.污染请求头,浪费流量 localStorage和sessionStorage 1.相同...

gateway + jwt 网关认证

思路: 全局过滤器对所有的请求拦截(生成token有效期30分钟,放入redis设置有效期3天。3天之类可以通过刷新接口自动刷新,超过3天需要重新登录。) 前端在调用接口之前先判断token是否过期(3o分钟),过期则先调刷新接口,换取新token, 1- 引入相关jar <dependency> <groupI...