可以列出正在运行的虚拟机进程,年轻代中第二

作者:美狮美高梅官方网站

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

jstat是jdk的内置命令,用于监控jvm内存及gc活动的工具
用法如下:

  1. jps:虚拟机进程状况工具

新美高梅网站 1

  • jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
    -t :代表时间粗
    -h<lines>:即-h跟数字,代表隔几行显示标题
    vmid :代表vm进程id
    interval:代表监控间隔时间段,默认毫秒做单位
    count:代表取数次数
    例:jstat -gcutil -t -h5 123456 1000 100
    表示每1000毫秒收集一次jvm内存和gc信息,共收集100次,每隔5行显示一次标题,且标题行带时间戳

  • jstat -gc pid
    显示gc的信息,查看gc的次数,及时间。

  • jstat -gccapacity pid
    VM分代内存的使用和占用大小。

  • jstat -gcutil pid
    统计gc信息统计。

  • jstat -gcnew pid
    年轻代对象的信息。

  • jstat -gcnewcapacity pid
    年轻代对象的信息及其占用量。

  • jstat -gcold pid
    old代对象的信息。

  • jstat -gcoldcapacity pid
    old代对象的信息。

  • jstat -gcpermcapacity pid
    perm对象的信息及其占用量。

  • jstat -class pid
    显示加载class的数量,及所占空间等信息。

  • jstat -compiler pid
    显示VM实时编译的数量等信息。

  • jstat -printcompilation pid
    当前VM执行的信息。

可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(main class,class()函数所在的类)的名称,以及这些进程的本地虚拟机的唯一ID。

  • option: 参数选项
  • -t: 可以在打印的列加上Timestamp列,用于显示系统运行的时间
  • -h: 可以在周期性数据数据的时候,可以在指定输出多少行以后输出一次表头
  • vmid: Virtual Machine ID
  • interval: 执行每次的间隔时间,单位为毫秒
  • count: 用于指定输出多少次记录,缺省则会一直打印

一些术语的中文解释:
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 : 最大持有次数限制

  1. jstat:虚拟机统计信息见识工具

新美高梅网站 2

jstat是用于见识虚拟机各种运行状态信息的命令行工具。他可以显示本地或远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。

  • -class 显示ClassLoad的相关信息;
  • -compiler 显示JIT编译的相关信息;
  • -gc 显示和gc相关的堆信息;
  • -gccapacity 显示各个代的容量以及使用情况;
  • -gcmetacapacity 显示metaspace的大小
  • -gcnew 显示新生代信息;
  • -gcnewcapacity 显示新生代大小和使用情况;
  • -gcold 显示老年代和永久代的信息;
  • -gcoldcapacity 显示老年代的大小;
  • -gcutil 显示垃圾收集信息;
  • -gccause 显示垃圾回收的相关信息,同时显示最后一次或当前正在发生的垃圾回收的诱因;
  • -printcompilation 输出JIT编译的方法信息;

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

显示加载class的数量,及所占空间等信息。

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

jstat -class <pid>

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

新美高梅网站 3

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

  • Loaded : 已经装载的类的数量
  • Bytes : 装载类所占用的字节数
  • Unloaded:已经卸载类的数量
  • Bytes:卸载类的字节数
  • Time:装载和卸载类所花费的时间

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

显示VM实时编译的数量等信息。

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

jstat -compiler <pid>

OC:Old代的容量 (字节)

新美高梅网站 4

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

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

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

显示gc相关的堆信息,查看gc的次数,及时间。

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

jstat –gc <pid>

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

新美高梅网站 5

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

  • S0C:年轻代中第一个survivor的容量
  • S1C:年轻代中第二个survivor的容量
  • S0U :年轻代中第一个survivor目前已使用空间
  • S1U :年轻代中第二个survivor目前已使用空间
  • EC :年轻代中Eden的容量
  • EU :年轻代中Eden目前已使用空间
  • OC :Old代的容量
  • OU :Old代目前已使用空间
  • MC:metaspace的容量
  • MU:metaspace目前已使用空间
  • YGC :从应用程序启动到采样时年轻代中gc次数
  • YGCT :从应用程序启动到采样时年轻代中gc所用时间
  • FGC :从应用程序启动到采样时old代gc次数
  • FGCT :从应用程序启动到采样时old代gc所用时间
  • GCT:从应用程序启动到采样时gc用的总时间

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

可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小

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

jstat -gccapacity <pid>

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

本文由美狮美高梅官方网站发布,转载请注明来源

关键词: