精华内容
下载资源
问答
  • jstat官方介绍

    2018-08-05 18:10:35
    jstat - Java Virtual Machine Statistics Monitoring Tool jstat官方介绍
  • JVM内存—jstat分析

    2018-04-11 16:49:07
    jstat用户监控基于HotSpot的JVM,对其堆的使用情况进行实时的命令行统计
  • jStat提供统计功能的本地javascript实现。 完整详细信息可在。 与大多数库相比,jStat提供的功能更多,包括weibull,cauchy,泊松,超几何和beta分布。 对于大多数分布,jStat提供pdf,cdf,反函数,均值,众数,...
  • jstat

    2021-06-03 16:23:50
    平时我们对运行中的系统,如果要检查他的JVM的整体运行情况,比较实用的工具之一,就是jstat 他可以轻易的让你看到当前运行中的系统,他的JVM内的Eden、Survivor、老年代的内存使用情况,还有Young GC和Full gC的...

    平时我们对运行中的系统,如果要检查他的JVM的整体运行情况,比较实用的工具之一,就是jstat
    他可以轻易的让你看到当前运行中的系统,他的JVM内的Eden、Survivor、老年代的内存使用情况,还有Young GC和Full gC的执行次数以及耗时。
    通过这些指标,我们可以轻松的分析出当前系统的运行情况,判断当前系统的内存使用压力以及GC压力,还有就是内存分配是否合
    理。下面我们就一点点来看看这个jstat工具的使用。

    jstat -gc PID

    运行这个命令之后会看到如下列,给大家解释一下:
    S0C:这是From Survivor区的大小
    S1C:这是To Survivor区的大小
    S0U:这是From Survivor区当前使用的内存大小
    S1U:这是To Survivor区当前使用的内存大小
    EC:这是Eden区的大小
    EU:这是Eden区当前使用的内存大小
    OC:这是老年代的大小
    OU:这是老年代当前使用的内存大小
    MC:这是方法区(永久代、元数据区)的大小
    MU:这是方法区(永久代、元数据区)的当前使用的内存大小
    YGC:这是系统运行迄今为止的Young GC次数
    YGCT:这是Young GC的耗时
    FGC:这是系统运行迄今为止的Full GC次数
    FGCT:这是Full GC的耗时
    GCT:这是所有GC的总耗时

    其他的jstat命令

    除了上面的jstat -gc命令是最常用的以外,他还有一些命令可以看到更多详细的信息,如下所示:
    jstat -gccapacity PID:堆内存分析
    jstat -gcnew PID:年轻代GC分析,这里的TT和MTT可以看到对象在年轻代存活的年龄和存活的最大年龄
    jstat -gcnewcapacity PID:年轻代内存分析
    jstat -gcold PID:老年代GC分析
    jstat -gcoldcapacity PID:老年代内存分析
    jstat -gcmetacapacity PID:元数据区内存分析

    jstat -gc PID 1000 10

    这行命令,他的意思就是每隔1秒钟更新出来最新的一行jstat统计信息,一共执行10次jstat统计
    通过这个命令,你可以非常灵活的对线上机器通过固定频率输出统计信息,观察每隔一段时间的jvm中的Eden区对象
    占用变化。
    比如给大家举个例子,执行这个命令之后,第一秒先显示出来Eden区使用了200MB内存,第二秒显示出来的那行统计
    信息里,发信Eden区使用了205MB内存,第三秒显示出来的那行统计信息里,发现Eden区使用了209MB内存,以此
    类推。
    此时你可以轻易的推断出来,这个系统大概每秒钟会新增5MB左右的对象。

    而且这里大家可以根据自己系统的情况灵活多变的使用,比如你们系统负载很低,不一定每秒都有请求,那么可以把
    上面的1秒钟调整为1分钟,甚至10分钟,去看你们系统每隔1分钟或者10分钟大概增长多少对象。
    还有就是一般系统都有高峰和日常两种状态,比如系统高峰期用的人很多,此时你就应该在系统高峰期去用上述命令
    看看高峰期的对象增长速率。然后你再得在非高峰的日常时间段内看看对象的增长速率。
    按照上述思路,基本上你可以对线上系统的高峰和日常两个时间段内的对象增长速率有很清晰的了解。

    展开全文
  • 一、jstat:查看JVM统计信息 二、jstat option参数 三、jstatinterval参数 四、jstatcount参数 五、jstat -t参数 六、jstat -h参数 七、补充 一、jstat:查看JVM统计信息 jstat(JVM Statistics Monitoring ...

    目录

    一、jstat:查看JVM统计信息

    二、jstat option参数

    三、jstat interval参数

    四、jstat count参数

    五、jstat -t参数

    六、jstat -h参数

    七、补充

    一、jstat:查看JVM统计信息

    jstat(JVM Statistics Monitoring Tool):用于监视虚拟机各种运行状态信息的命令行工具。它可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。在没有GUI图形界面,只提供了纯文本控制台环境的服务器上,它将是运行期定位虚拟机性能问题的首选工具。jstat常用于检测垃圾回收问题以及内存泄漏问题。

    官方文档:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html

    基本使用语法为:jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]

    查看命令相关参数:jstat -h 或 jstat -help

    C:\Users\WSH>jstat -h
    -h requires an integer argument
    Usage: jstat -help|-options
           jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
    
    Definitions:
      <option>      An option reported by the -options option
      <vmid>        Virtual Machine Identifier. A vmid takes the following form:
                         <lvmid>[@<hostname>[:<port>]]
                    Where <lvmid> is the local vm identifier for the target
                    Java virtual machine, typically a process id; <hostname> is
                    the name of the host running the target Java virtual machine;
                    and <port> is the port number for the rmiregistry on the
                    target host. See the jvmstat documentation for a more complete
                    description of the Virtual Machine Identifier.
      <lines>       Number of samples between header lines.
      <interval>    Sampling interval. The following forms are allowed:
                        <n>["ms"|"s"]
                    Where <n> is an integer and the suffix specifies the units as
                    milliseconds("ms") or seconds("s"). The default units are "ms".
      <count>       Number of samples to take before terminating.
      -J<flag>      Pass <flag> directly to the runtime system.

    其中vmid是进程id号,也就是jps之后看到的前面的号码,如下:

    二、jstat option参数

    选项option可以由以下值构成。

    (一)、类装载相关

    • -class:显示ClassLoader的相关信息:类的装载、卸载数量、总空间、类装载所消耗的时间等;
    C:\Users\WSH>jps
    11632 Jps
    11728 KotlinCompileDaemon
    2400
    2884 JVMCommandTest
    10056 RemoteMavenServer
    9180 Launcher
    
    C:\Users\WSH>jstat -class 2884
    Loaded  Bytes  Unloaded  Bytes     Time
       719  1428.7        0     0.0       0.38

    (二)、垃圾回收相关

    • -gc:显示与GC相关的堆信息。包括Eden区、两个Survivor区、老年代、永久代等的容量、已用空间、GC时间合计等信息; 
    C:\Users\WSH>jstat -gc 2884
     S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT
    10240.0 10240.0  0.0    0.0   63488.0   7621.1   167936.0     0.0     4480.0 778.0  384.0   76.6       0    0.000   0      0.000    0.000
    
    ##############每隔一秒输出一次,总共输出5次###################
    C:\Users\WSH>jstat -gc 2884 1000 5
     S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT
    10240.0 10240.0  0.0    0.0   63488.0   7621.1   167936.0     0.0     4480.0 778.0  384.0   76.6       0    0.000   0      0.000    0.000
    10240.0 10240.0  0.0    0.0   63488.0   7621.1   167936.0     0.0     4480.0 778.0  384.0   76.6       0    0.000   0      0.000    0.000
    10240.0 10240.0  0.0    0.0   63488.0   7621.1   167936.0     0.0     4480.0 778.0  384.0   76.6       0    0.000   0      0.000    0.000
    10240.0 10240.0  0.0    0.0   63488.0   7621.1   167936.0     0.0     4480.0 778.0  384.0   76.6       0    0.000   0      0.000    0.000
    10240.0 10240.0  0.0    0.0   63488.0   7621.1   167936.0     0.0     4480.0 778.0  384.0   76.6       0    0.000   0      0.000    0.000

    各个字段的含义如下表所示:

    表头

    含义(字节)

    EC

    Eden区的大小

    EU

    Eden区已使用的大小

    S0C

    幸存者0区的大小

    S1C

    幸存者1区的大小

    S0U

    幸存者0区已使用的大小

    S1U

    幸存者1区已使用的大小

    MC

    元空间的大小

    MU

    元空间已使用的大小

    OC

    老年代的大小

    OU

    老年代已使用的大小

    CCSC

    压缩类空间的大小

    CCSU

    压缩类空间已使用的大小

    YGC

    从应用程序启动到采样时young gc的次数

    YGCT

    从应用程序启动到采样时young gc消耗时间(秒)

    FGC

    从应用程序启动到采样时full gc的次数

    FGCT

    从应用程序启动到采样时的full gc的消耗时间(秒)

    GCT

    从应用程序启动到采样时gc的总时间

    • -gccapacity:显示内容与-gc基本相同,但输出主要关注Java堆各个区域使用到的最大、最小空间;
    C:\Users\WSH>jstat -gccapacity 2884
     NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC         OC       MCMN     MCMX      MC     CCSMN    CCSMX     CCSC    YGC    FGC
     83968.0 1343488.0  83968.0 10240.0 10240.0  63488.0   167936.0  2686976.0   167936.0   167936.0      0.0 1056768.0   4480.0      0.0 1048576.0    384.0      0     0
    • -gcutil:显示内容与-gc基本相同,但输出主要关注已使用空间占总空间的百分比;
    C:\Users\WSH>jstat -gcutil 2884 500 6
      S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT
      0.00   0.00  12.00   0.00  17.37  19.94      0    0.000     0    0.000    0.000
      0.00   0.00  12.00   0.00  17.37  19.94      0    0.000     0    0.000    0.000
      0.00   0.00  12.00   0.00  17.37  19.94      0    0.000     0    0.000    0.000
      0.00   0.00  12.00   0.00  17.37  19.94      0    0.000     0    0.000    0.000
      0.00   0.00  12.00   0.00  17.37  19.94      0    0.000     0    0.000    0.000
      0.00   0.00  12.00   0.00  17.37  19.94      0    0.000     0    0.000    0.000
    
    • -gccause:与-gcutil功能一样,但是会额外输出导致最后一次或当前正在发生的GC产生的原因;
    C:\Users\WSH>jstat -gccause 2884
      S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT    LGCC                 GCC
      0.00   0.00  12.00   0.00  17.37  19.94      0    0.000     0    0.000    0.000 No GC                No GC
    
    C:\Users\WSH>jstat -gccause 2884 500 5
      S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT    LGCC                 GCC
      0.00   0.00  12.00   0.00  17.37  19.94      0    0.000     0    0.000    0.000 No GC                No GC
      0.00   0.00  12.00   0.00  17.37  19.94      0    0.000     0    0.000    0.000 No GC                No GC
      0.00   0.00  12.00   0.00  17.37  19.94      0    0.000     0    0.000    0.000 No GC                No GC
      0.00   0.00  12.00   0.00  17.37  19.94      0    0.000     0    0.000    0.000 No GC                No GC
      0.00   0.00  12.00   0.00  17.37  19.94      0    0.000     0    0.000    0.000 No GC                No GC
    • -gcnew:显示新生代GC状况;
    C:\Users\WSH>jstat -gcnew 2884
     S0C    S1C    S0U    S1U   TT MTT  DSS      EC       EU     YGC     YGCT
    10240.0 10240.0    0.0    0.0 15  15    0.0  63488.0   7621.1      0    0.000
    
    • -gcnewcapacity:显示内容与-gcnew基本相同,输出主要关注使用到的最大、最小空间;
    C:\Users\WSH>jstat -gcnewcapacity 2884
      NGCMN      NGCMX       NGC      S0CMX     S0C     S1CMX     S1C       ECMX        EC      YGC   FGC
       83968.0  1343488.0    83968.0 447488.0  10240.0 447488.0  10240.0  1342464.0    63488.0     0     0
    • -gcold:显示老年代GC状况;
    C:\Users\WSH>jstat -gcold 2884
       MC       MU      CCSC     CCSU       OC          OU       YGC    FGC    FGCT     GCT
      4480.0    778.0    384.0     76.6    167936.0         0.0      0     0    0.000    0.000
    • -gcoldcapacity:显示内容与-gcold基本相同,输出主要关注使用到的最大、最小空间;
    C:\Users\WSH>jstat -gcoldcapacity 2884
       OGCMN       OGCMX        OGC         OC       YGC   FGC    FGCT     GCT
       167936.0   2686976.0    167936.0    167936.0     0     0    0.000    0.000
    • -gcmetacapacity:显示元空间使用到的最大、最小空间;
    C:\Users\WSH>jstat -gcmetacapacity 2884
       MCMN       MCMX        MC       CCSMN      CCSMX       CCSC     YGC   FGC    FGCT     GCT
           0.0  1056768.0     4480.0        0.0  1048576.0      384.0     0     0    0.000    0.000

    (三)、JIT相关

    • -compiler:显示JIT编译器编译过的方法、耗时等信息;
    • -printcompilation:输出已经被JIT编译的方法;
    C:\Users\WSH>jstat -compiler 2884
    Compiled Failed Invalid   Time   FailedType FailedMethod
         114      0       0     0.12          0
    
    C:\Users\WSH>jstat -printcompilation 2884
    Compiled  Size  Type Method
         114   2702    1 java/util/Properties saveConvert

    三、jstat interval参数

    interval参数:用于指定输出统计数据的周期,单位为毫秒。即:查询间隔;如:每隔一秒输出类加载统计信息。

    C:\Users\WSH>jstat -class 2884 1000
    Loaded  Bytes  Unloaded  Bytes     Time
       719  1428.7        0     0.0       0.38
       719  1428.7        0     0.0       0.38
       719  1428.7        0     0.0       0.38
       719  1428.7        0     0.0       0.38
       719  1428.7        0     0.0       0.38

    四、jstat count参数

    count参数: 用于指定查询的总次数。如:每隔一秒输出类加载统计信息,总共打印5次。

    C:\Users\WSH>jstat -class 2884 1000 5
    Loaded  Bytes  Unloaded  Bytes     Time
       719  1428.7        0     0.0       0.38
       719  1428.7        0     0.0       0.38
       719  1428.7        0     0.0       0.38
       719  1428.7        0     0.0       0.38
       719  1428.7        0     0.0       0.38

    五、jstat -t参数

    -t参数:可以在输出信息前加上一个Timestamp列,显示程序的运行时间。单位:秒

    C:\Users\WSH>jstat -class -t 2884
    Timestamp       Loaded  Bytes  Unloaded  Bytes     Time
              271.2    719  1428.7        0     0.0       0.38

    六、jstat -h参数

    -h参数: 可以在周期性数据输出时,输出多少行数据后输出一个表头信息。

    如:每输出3行就输出一个表头信息,总共输出7次。

    C:\Users\WSH>jstat -class -t -h3 2884 1000 7
    Timestamp       Loaded  Bytes  Unloaded  Bytes     Time
              364.2    719  1428.7        0     0.0       0.38
              365.2    719  1428.7        0     0.0       0.38
              366.3    719  1428.7        0     0.0       0.38
    Timestamp       Loaded  Bytes  Unloaded  Bytes     Time
              367.3    719  1428.7        0     0.0       0.38
              368.3    719  1428.7        0     0.0       0.38
              369.3    719  1428.7        0     0.0       0.38
    Timestamp       Loaded  Bytes  Unloaded  Bytes     Time
              370.3    719  1428.7        0     0.0       0.38

    七、补充

    jstat还可以用来判断是否出现内存泄漏:

    第1步:在长时间运行的 Java 程序中,我们可以运行jstat命令连续获取多行性能数据,并取这几行数据中 OU 列(即已占用的老年代内存)的最小值。

    第2步:然后,我们每隔一段较长的时间重复一次上述操作,来获得多组 OU 最小值。如果这些值呈上涨趋势,则说明该 Java 程序的老年代内存已使用量在不断上涨,这意味着无法回收的对象在不断增加,因此很有可能存在内存泄漏。 

    展开全文
  • Jstat名称:Java Virtual Machine statistics monitoring tool功能描述:Jstat是JDK自带的一个轻量级小工具。它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括...

    Jstat名称:Java Virtual Machine statistics monitoring tool

    功能描述:

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

    命令用法:jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]

    注意:使用的jdk版本是jdk8。

    C:\Users\Administrator>jstat -help

    Usage: jstat -help|-options

    jstat - [-t] [-h] [ []]

    Definitions:

    An option reported by the -options option

    Virtual Machine Identifier. A vmid takes the following form:

    [@[:]]

    Where is the local vm identifier for the target

    Java virtual machine, typically a process id; is

    the name of the host running the target Java virtual machine;

    and is the port number for the rmiregistry on the

    target host. See the jvmstat documentation for a more complete

    description of the Virtual Machine Identifier.

    Number of samples between header lines.

    Sampling interval. The following forms are allowed:

    ["ms"|"s"]

    Where is an integer and the suffix specifies the units as

    milliseconds("ms") or seconds("s"). The default units are "ms".

    Number of samples to take before terminating.

    -J Pass directly to the runtime system.

    option:参数选项

    -t:可以在打印的列加上Timestamp列,用于显示系统运行的时间

    -h:可以在周期性数据输出的时候,指定输出多少行以后输出一次表头

    vmid:Virtual Machine ID( 进程的 pid)

    interval:执行每次的间隔时间,单位为毫秒

    count:用于指定输出多少次记录,缺省则会一直打印

    option 可以从下面参数中选择

    8f900a89c6347c561fdf2122f13be562.png

    961ddebeb323a10fe0623af514929fc1.png

    C:\Users\Administrator>jstat -options-class

    -compiler-gc-gccapacity-gccause-gcmetacapacity-gcnew-gcnewcapacity-gcold-gcoldcapacity-gcutil-printcompilation

    jstat -options

    -class 用于查看类加载情况的统计

    -compiler 用于查看HotSpot中即时编译器编译情况的统计

    -gc 用于查看JVM中堆的垃圾收集情况的统计

    -gccapacity 用于查看新生代、老生代及持久代的存储容量情况

    -gcmetacapacity 显示metaspace的大小

    -gcnew 用于查看新生代垃圾收集的情况

    -gcnewcapacity 用于查看新生代存储容量的情况

    -gcold 用于查看老生代及持久代垃圾收集的情况

    -gcoldcapacity 用于查看老生代的容量

    -gcutil 显示垃圾收集信息

    -gccause 显示垃圾回收的相关信息(通-gcutil),同时显示最后一次仅当前正在发生的垃圾收集的原因

    -printcompilation 输出JIT编译的方法信息

    示例:

    1.-class 类加载统计

    [root@hadoop ~]# jps #先通过jps获取到java进程号(这里是一个zookeeper进程)

    3346 QuorumPeerMain

    7063 Jps

    [root@hadoop ~]# jstat -class 3346 #统计JVM中加载的类的数量与size

    Loaded Bytes Unloaded Bytes Time

    1527 2842.7 0 0.0 1.02

    Loaded:加载类的数量

    Bytes:加载类的size,单位为Byte

    Unloaded:卸载类的数目

    Bytes:卸载类的size,单位为Byte

    Time:加载与卸载类花费的时间

    2.-compiler 编译统计

    [root@hadoop ~]# jstat -compiler 3346 #用于查看HotSpot中即时编译器编译情况的统计

    Compiled Failed Invalid Time FailedType FailedMethod

    404 0 0 0.19 0

    Compiled:编译任务执行数量

    Failed:编译任务执行失败数量

    Invalid:编译任务执行失效数量

    Time:编译任务消耗时间

    FailedType:最后一个编译失败任务的类型

    FailedMethod:最后一个编译失败任务所在的类及方法

    3.-gc 垃圾回收统计

    [root@hadoop ~]# jstat -gc 3346 #用于查看JVM中堆的垃圾收集情况的统计

    S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT

    128.0 128.0 0.0 128.0 1024.0 919.8 15104.0 2042.4 8448.0 8130.4 1024.0 996.0 7 0.019 0 0.000 0.019

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

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

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

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

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

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

    OC:Old代的容量 (字节)

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

    MC:metaspace(元空间)的容量 (字节)

    MU:metaspace(元空间)目前已使用空间 (字节)

    CCSC:当前压缩类空间的容量 (字节)

    CCSU:当前压缩类空间目前已使用空间 (字节)

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

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

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

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

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

    4.-gccapacity 堆内存统计

    [root@hadoop ~]# jstat -gccapacity 3346 #用于查看新生代、老生代及持久代的存储容量情况

    NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC

    1280.0 83264.0 1280.0 128.0 128.0 1024.0 15104.0 166592.0 15104.0 15104.0 0.0 1056768.0 8448.0 0.0 1048576.0 1024.0 7 0

    [root@hadoop ~]# jstat -gccapacity -h5 3346 1000 #-h5:每5行显示一次表头 1000:每1秒钟显示一次,单位为毫秒

    NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC

    1280.0 83264.0 1280.0 128.0 128.0 1024.0 15104.0 166592.0 15104.0 15104.0 0.0 1056768.0 8448.0 0.0 1048576.0 1024.0 7 0

    1280.0 83264.0 1280.0 128.0 128.0 1024.0 15104.0 166592.0 15104.0 15104.0 0.0 1056768.0 8448.0 0.0 1048576.0 1024.0 7 0

    1280.0 83264.0 1280.0 128.0 128.0 1024.0 15104.0 166592.0 15104.0 15104.0 0.0 1056768.0 8448.0 0.0 1048576.0 1024.0 7 0

    1280.0 83264.0 1280.0 128.0 128.0 1024.0 15104.0 166592.0 15104.0 15104.0 0.0 1056768.0 8448.0 0.0 1048576.0 1024.0 7 0

    1280.0 83264.0 1280.0 128.0 128.0 1024.0 15104.0 166592.0 15104.0 15104.0 0.0 1056768.0 8448.0 0.0 1048576.0 1024.0 7 0

    NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC

    1280.0 83264.0 1280.0 128.0 128.0 1024.0 15104.0 166592.0 15104.0 15104.0 0.0 1056768.0 8448.0 0.0 1048576.0 1024.0 7 0

    1280.0 83264.0 1280.0 128.0 128.0 1024.0 15104.0 166592.0 15104.0 15104.0 0.0 1056768.0 8448.0 0.0 1048576.0 1024.0 7 0

    1280.0 83264.0 1280.0 128.0 128.0 1024.0 15104.0 166592.0 15104.0 15104.0 0.0 1056768.0 8448.0 0.0 1048576.0 1024.0 7 0

    1280.0 83264.0 1280.0 128.0 128.0 1024.0 15104.0 166592.0 15104.0 15104.0 0.0 1056768.0 8448.0 0.0 1048576.0 1024.0 7 0

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

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

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

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

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

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

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

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

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

    OC:Old代的容量 (字节)

    MCMN:metaspace(元空间)中初始化(最小)的大小 (字节)

    MCMX:metaspace(元空间)的最大容量 (字节)

    MC:metaspace(元空间)当前新生成的容量 (字节)

    CCSMN:最小压缩类空间大小

    CCSMX:最大压缩类空间大小

    CCSC:当前压缩类空间大小

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

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

    5.-gcmetacapacity 元数据空间统计

    [root@hadoop ~]# jstat -gcmetacapacity 3346 #显示元数据空间的大小

    MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC FGCT GCT

    0.0 1056768.0 8448.0 0.0 1048576.0 1024.0 8 0 0.000 0.020

    MCMN:最小元数据容量

    MCMX:最大元数据容量

    MC:当前元数据空间大小

    CCSMN:最小压缩类空间大小

    CCSMX:最大压缩类空间大小

    CCSC:当前压缩类空间大小

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

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

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

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

    6.-gcnew 新生代垃圾回收统计

    [root@hadoop ~]# jstat -gcnew 3346 #用于查看新生代垃圾收集的情况

    S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT

    128.0 128.0 67.8 0.0 1 15 64.0 1024.0 362.2 8 0.020

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

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

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

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

    TT:持有次数限制

    MTT:最大持有次数限制

    DSS:期望的幸存区大小

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

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

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

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

    7.-gcnewcapacity 新生代内存统计

    [root@hadoop ~]# jstat -gcnewcapacity 3346 #用于查看新生代存储容量的情况

    NGCMN NGCMX NGC S0CMX S0C S1CMX S1C ECMX EC YGC FGC

    1280.0 83264.0 1280.0 8320.0 128.0 8320.0 128.0 66624.0 1024.0 8 0

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

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

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

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

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

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

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

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

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

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

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

    8.-gcold 老年代垃圾回收统计

    [root@hadoop ~]# jstat -gcold 3346 #用于查看老年代及持久代垃圾收集的情况

    MC MU CCSC CCSU OC OU YGC FGC FGCT GCT

    8448.0 8227.5 1024.0 1003.7 15104.0 2102.2 8 0 0.000 0.020

    MC:metaspace(元空间)的容量 (字节)

    MU:metaspace(元空间)目前已使用空间 (字节)

    CCSC:压缩类空间大小

    CCSU:压缩类空间使用大小

    OC:Old代的容量 (字节)

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

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

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

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

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

    9.-gcoldcapacity 老年代内存统计

    [root@hadoop ~]# jstat -gcoldcapacity 3346 #用于查看老年代的容量

    OGCMN OGCMX OGC OC YGC FGC FGCT GCT

    15104.0 166592.0 15104.0 15104.0 8 0 0.000 0.020

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

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

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

    OC:Old代的容量 (字节)

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

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

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

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

    10.-gcutil 垃圾回收统计

    [root@hadoop ~]# jstat -gcutil 3346 #显示垃圾收集信息

    S0 S1 E O M CCS YGC YGCT FGC FGCT GCT

    52.97 0.00 42.10 13.92 97.39 98.02 8 0.020 0 0.000 0.020

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

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

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

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

    M:元数据区已使用的占当前容量百分比

    CCS:压缩类空间已使用的占当前容量百分比

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

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

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

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

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

    11.-gccause

    [root@hadoop ~]# jstat -gccause 3346 #显示垃圾回收的相关信息(通-gcutil),同时显示最后一次或当前正在发生的垃圾回收的诱因

    S0 S1 E O M CCS YGC YGCT FGC FGCT GCT LGCC GCC

    52.97 0.00 46.09 13.92 97.39 98.02 8 0.020 0 0.000 0.020 Allocation Failure No GC

    LGCC:最后一次GC原因

    GCC:当前GC原因(No GC 为当前没有执行GC)

    12.-printcompilation JVM编译方法统计

    [root@hadoop ~]# jstat -printcompilation 3346 #输出JIT编译的方法信息

    Compiled Size Type Method

    421 60 1 sun/nio/ch/Util$2 clear

    Compiled:编译任务的数目

    Size:方法生成的字节码的大小

    Type:编译类型

    Method:类名和方法名用来标识编译的方法。类名使用/做为一个命名空间分隔符。方法名是给定类中的方法。上述格式是由-XX:+PrintComplation选项进行设置的

    远程监控

    与jps一样,jstat也支持远程监控,同样也需要开启安全授权,方法参照jps。

    C:\Users\Administrator>jps 192.168.146.128

    3346 QuorumPeerMain

    3475 Jstatd

    C:\Users\Administrator>jstat -gcutil 3346@192.168.146.128

    S0 S1 E O M CCS YGC YGCT FGC FGCT GCT

    52.97 0.00 65.15 13.92 97.39 98.02 8 0.020 0 0.000 0.020

    参考:

    https://www.jianshu.com/p/213710fb9e40

    https://www.cnblogs.com/lizhonghua34/p/7307139.html

    《全栈性能测试修炼宝典-JMeter实战》

    展开全文
  • JVM命令使用演示这篇文章里演示了一些jvm命令的使用,跟着这个主题,写了:JVM命令之jstack深入讲解和JVM命令之jmap深入讲解,今天接着这条线具体介绍一下jstat命令的使用。作用JVM statistics Monitoring,用于监视...

    JVM命令使用演示 这篇文章里演示了一些jvm命令的使用,跟着这个主题,写了:JVM命令之jstack深入讲解 和 JVM命令之jmap深入讲解 ,今天接着这条线具体介绍一下jstat命令的使用。

    作用

    JVM statistics Monitoring,用于监视虚拟机运行时状态信息的命令,它可以显示出虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。

    使用

    依旧先看一下使用帮助~  ᐅ jstat -help

    Usage: jstat -help|-options

    jstat - [-t] [-h] [ []]

    Definitions:

          An option reported by the -options option

            Virtual Machine Identifier. A vmid takes the following form:

    [@[:]]

    Where is the local vm identifier for the target

    Java virtual machine, typically a process id; is

    the name of the host running the target Java virtual machine;

    and is the port number for the rmiregistry on the

    target host. See the jvmstat documentation for a more complete

    description of the Virtual Machine Identifier.

           Number of samples between header lines.

        Sampling interval. The following forms are allowed:

    ["ms"|"s"]

    Where is an integer and the suffix specifies the units as

    milliseconds("ms") or seconds("s"). The default units are "ms".

           Number of samples to take before terminating.

    -J      Pass directly to the runtime system.

    这里首先介绍一下 jstat - pid 后面跟0、1、2个参数的差别,举例说明:~  ᐅ jps

    30054 Jps

    29529 Launcher

    28953

    29530 SearchBusiestCPU

    29295 RemoteMavenServer

    ~  ᐅ jstat -gcutil 29530   # 0个参数的时候直接输出一次当前情况

    S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT

    0.00   0.00  20.59   0.00  17.27  19.75      0    0.000     0    0.000    0.000

    ~  ᐅ jstat -gcutil 29530 1000 # 1个参数时这个参数代表间隔时间,一直输出

    S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT

    0.00   0.00  20.59   0.00  17.27  19.75      0    0.000     0    0.000    0.000

    0.00   0.00  20.59   0.00  17.27  19.75      0    0.000     0    0.000    0.000

    0.00   0.00  20.59   0.00  17.27  19.75      0    0.000     0    0.000    0.000

    0.00   0.00  20.59   0.00  17.27  19.75      0    0.000     0    0.000    0.000

    ^C%                                                                                                                       ~  ᐅ jstat -gcutil 29530 1000 2 # 2个参数时第一个参数参数代表间隔时间,后一个参数代表输出的总次数

    S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT

    0.00   0.00  20.59   0.00  17.27  19.75      0    0.000     0    0.000    0.000

    0.00   0.00  20.59   0.00  17.27  19.75      0    0.000     0    0.000    0.000

    当然也支持-t,-h,直接看一下效果即可,不是特别的重要:~  ᐅ jstat -gcutil -t -h5 29530 1000

    Timestamp         S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT

    428.5   0.00   0.00  20.59   0.00  17.27  19.75      0    0.000     0    0.000    0.000

    429.5   0.00   0.00  20.59   0.00  17.27  19.75      0    0.000     0    0.000    0.000

    430.5   0.00   0.00  20.59   0.00  17.27  19.75      0    0.000     0    0.000    0.000

    431.5   0.00   0.00  20.59   0.00  17.27  19.75      0    0.000     0    0.000    0.000

    432.5   0.00   0.00  20.59   0.00  17.27  19.75      0    0.000     0    0.000    0.000

    Timestamp         S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT

    433.5   0.00   0.00  20.59   0.00  17.27  19.75      0    0.000     0    0.000    0.000

    434.5   0.00   0.00  20.59   0.00  17.27  19.75      0    0.000     0    0.000    0.000

    435.5   0.00   0.00  20.59   0.00  17.27  19.75      0    0.000     0    0.000    0.000

    436.5   0.00   0.00  20.59   0.00  17.27  19.75      0    0.000     0    0.000    0.000

    437.5   0.00   0.00  20.59   0.00  17.27  19.75      0    0.000     0    0.000    0.000

    Timestamp         S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT

    438.5   0.00   0.00  20.59   0.00  17.27  19.75      0    0.000     0    0.000    0.000

    439.5   0.00   0.00  20.59   0.00  17.27  19.75      0    0.000     0    0.000    0.000

    不同参数详细解释

    jstat -options

    可以列出当前JVM版本支持的选项,常见的有

    l  class (类加载器)

    l  compiler (JIT)

    l  gc (GC堆状态)

    l  gccapacity (各区大小)

    l  gccause (最近一次GC统计和原因)

    l  gcnew (新区统计)

    l  gcnewcapacity (新区大小)

    l  gcold (老区统计)

    l  gcoldcapacity (老区大小)

    l  gcpermcapacity (永久区大小)

    l  gcutil (GC统计汇总)

    l  printcompilation (HotSpot编译统计)

    1、jstat –class : 显示加载class的数量,及所占空间等信息。显示列名具体描述

    Loaded装载的类的数量

    Bytes装载类所占用的字节数

    Unloaded卸载类的数量

    Bytes卸载类的字节数

    Time装载和卸载类所花费的时间

    2、jstat -compiler :显示VM实时编译的数量等信息。显示列名具体描述

    Compiled编译任务执行数量

    Failed编译任务执行失败数量

    Invalid编译任务执行失效数量

    Time编译任务消耗时间

    FailedType最后一个编译失败任务的类型

    FailedMethod最后一个编译失败任务所在的类及方法

    3、jstat -gc : 可以显示gc的信息,查看gc的次数,及时间。

    不同的版本有一定的差别,比如jdk8之后会有MC、MU等,代表Metaspace的容量(C)和已使用空间(U),下面其他参数也有相同的问题,注意识别对应的后缀即可。显示列名具体描述

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

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

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

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

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

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

    OCOld代的容量 (字节)

    OUOld代目前已使用空间 (字节)

    PCPerm(持久代)的容量 (字节)

    PUPerm(持久代)目前已使用空间 (字节)

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

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

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

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

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

    4、jstat -gccapacity :可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小显示列名具体描述

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

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

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

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

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

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

    OGCMNold代中初始化(最小)的大小 (字节)

    OGCMXold代的最大容量(字节)

    OGCold代当前新生成的容量 (字节)

    OCOld代的容量 (字节)

    PGCMNperm代中初始化(最小)的大小 (字节)

    PGCMXperm代的最大容量 (字节)

    PGCperm代当前新生成的容量 (字节)

    PCPerm(持久代)的容量 (字节)

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

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

    5、jstat -gcutil :统计gc信息显示列名具体描述

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

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

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

    Oold代已使用的占当前容量百分比

    Pperm代已使用的占当前容量百分比

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

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

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

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

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

    6、jstat -gcnew :年轻代对象的信息。显示列名具体描述

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

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

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

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

    TT持有次数限制

    MTT最大持有次数限制

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

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

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

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

    7、jstat -gcnewcapacity : 年轻代对象的信息及其占用量。显示列名具体描述

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

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

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

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

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

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

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

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

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

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

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

    8、jstat -gcold :old代对象的信息。显示列名具体描述

    PCPerm(持久代)的容量 (字节)

    PUPerm(持久代)目前已使用空间 (字节)

    OCOld代的容量 (字节)

    OUOld代目前已使用空间 (字节)

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

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

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

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

    9、jstat -gcoldcapacity :old代对象的信息及其占用量。显示列名具体描述

    OGCMNold代中初始化(最小)的大小 (字节)

    OGCMXold代的最大容量(字节)

    OGCold代当前新生成的容量 (字节)

    OCOld代的容量 (字节)

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

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

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

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

    10、jstat -gcpermcapacity: perm对象的信息及其占用量。显示列名具体描述

    PGCMNperm代中初始化(最小)的大小 (字节)

    PGCMXperm代的最大容量 (字节)

    PGCperm代当前新生成的容量 (字节)

    PCPerm(持久代)的容量 (字节)

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

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

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

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

    11、jstat -printcompilation :当前VM执行的信息。显示列名具体描述

    Compiled编译任务的数目

    Size方法生成的字节码的大小

    Type编译类型

    Method类名和方法名用来标识编译的方法。类名使用/做为一个命名空间分隔符。方法名是给定类中的方法。上述格式是由-XX:+PrintComplation选项进行设置的

    关于jstat就主要介绍到这里,这个命令相对容易一些,关键是对结果的解读。这些结果也不需要刻意去背,能清楚的理解分代,找到缩写规律,自己单独看也是很容易的。

    展开全文
  • jstat命令详解

    2021-03-15 11:26:26
    jstat命令使用jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下:jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]注意:使用的jdk版本是jdk8.类加载统计:C:\Users\Administrator>...
  • 什么是jstat Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,...
  • jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap ...
  • java高分局之jstat命令使用jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下:jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]注意:使用的jdk版本是jdk8.类加载统计:C:\Users\...
  • java 中jstat的用法

    2021-03-13 13:54:05
    JDK自带VM分析工具jps,jstat,jmap,jconsoleJstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和...
  • jstat 的介绍及使用2.1 jstat -gc PID 介绍2.2 其他的 jstat命令2.3 jstat -gc PID 使用3. 关注指标及计算分析3.1 关注指标3.2 计算分析 1. 使用背景 一般来说,中大型公司都会有自己的应用监控系统,比如开源的 ...
  • jstat gc各参数含义

    2021-09-09 10:47:58
    参数 说明 S0C 第一个幸存区的大小 S1C 第二个幸存区的大小 S0U 第一个幸存区的使用大小 S1U 第二个幸存区的使用大小 EC 伊甸园区的大小 EU 伊甸园区的使用大小 ...老年代垃圾回收消耗时...
  • jstat -gccause pid 1 每格1毫秒输出结果jstat -gccause pid 2000 每格2秒输出结果不断的在屏幕打印出结果S0S1EOPYGCYGCTFGCFGCTGCTLGCCGCC87.710.0094.7159.4559....
  • jstat命令基本用法

    千次阅读 2019-08-18 11:18:09
    诊断程序性能问题,或者OOM问题需要查看程序运行的一些统计信息,jstat为我们提供了很多虚拟机运行时的状态信息,它可以显示本地或者远程虚拟机进程中的类加载、内存、垃圾收集、JIT编译等信息。 基本用法 我的jdk是...
  • jstat监控jvm(Hotspot)性能统计信息,查看官方网站语法jstat [ generalOption | outputOptions vmid [ interval[s|ms] [ count ] ]generalOption单个常规命令-help展示帮助信息-options展示所有的静态列表选项...
  • jstat版本不兼容问题

    2021-05-15 02:50:54
    一 问题描述我使用jstat命令来监控Java应用,前端时间调试Logstash的时候,Logstash单独指定JDK1.8,但是服务器上其他Java应用还是使用的JDK1.7,监控脚本jstat_status.py指定的jstat还是1.7版本Logstash的监控信息...
  • 使用JDK自带工具jstat发现内存泄露问题当你的java程序出现outofmemory异常而你需要重现分析并诊断时,或者你想检查你的应用程序是否有内存泄露的问题时,你该怎么办呢?很明显,top, ps之类的工具是远远不够的,这...
  • 在idea上配置 -XX:-UsePerfData 可以发现上面看不到JpsTest的进程了 二、jstat 查看JVM统计信息 1、简介 jstat( JVM Statistics Monitoring TooL): 用于监视虛拟机各种运行状态信息的命令行工具。它可以是示本地...
  • jstat 命令

    2021-06-02 15:23:38
    命令参数 # jstat -option -t #option:参数选项,-t:显示系统的时间 # jstat -option -h #指定输出多少行后,输出一次表头 # jstat -option vmid #进程的pid # jstat -option interval ...
  • JDK14性能管理工具:jstat使用介绍

    千次阅读 2020-05-31 07:25:18
    文章目录 简介 JStat命令 JStat Output Options class compiler gc gccapacity gcnew gcnewcapacity gcold gcoldcapacity gcmetacapacity gcutil gccause printcompilation 总结 简介 作为一个程序员,经常会为如何...
  • 使用jstat查看JVM统计信息

    千次阅读 2018-09-30 10:45:54
    jstat用于监视虚拟机各种运行状态信息的命令行工具。可以查看本地或者远程虚拟机中的类装载、内存、垃圾收集、JIT编译等运行数据。 语法:jstat [ generalOption | outputOptions vmid [ interval [s | ms] [ count ...
  • jstat和jmap

    2020-07-27 14:11:03
    之前的文章讲了jstack的用法,这篇文章讲下其他两种方便排查问题的命令jstat、jmap。 jstat jstat对于查看Jvm的堆栈信息很有用。能够查看eden,survivor,old,perm等heap的capacity,utility信息,对于查看系统是不是...
  • Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap ...
  • 之前在项目中做服务端异常测试的时候,一般是用 jstat 监控 gc 变化,对 JVM 的内存回收策略有一些了解,最近趁有时间,整理下之前测试过程中的一些笔记,对其中部分重要的内容再消化一下。1、JVM 垃圾回收算法主要...
  • Jstat详解

    2020-12-10 09:48:12
    jstat [ generalOption | outputOptions vmid [interval[s|ms] [count]] ] vmid是Java虚拟机ID,在Linux/Unix系统上一般就是进程ID。interval是采样时间间隔。count是采样数目。比如下面输出的是GC信息,采样时间...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,173
精华内容 9,669
关键字:

jstat