1. 程式人生 > >java學習-【轉】JVM JSTAT命令的用法和引數講解

java學習-【轉】JVM JSTAT命令的用法和引數講解

一、常用命令分析

1. jstat -gc pid

可以顯示gc的資訊,檢視gc的次數,及時間。

其中最後五項,分別是young gc的次數,young gc的時間,full gc的次數,full gc的時間,gc的總時間。

2.jstat -gccapacity pid

可以顯示,VM記憶體中三代(young,old,perm)物件的使用和佔用大小,

如:PGCMN顯示的是最小perm的記憶體使用量,PGCMX顯示的是perm的記憶體最大使用量,

           PGC是當前新生成的perm記憶體佔用量,PC是但前perm記憶體佔用量。

其他的可以根據這個類推, OC

old內純的佔用量。

3.jstat -gcutil pid

統計gc資訊統計。

4.jstat -gcnew pid

年輕代物件的資訊。

5.jstat -gcnewcapacity pid

年輕代物件的資訊及其佔用量。

6.jstat -gcold pid

            old代物件的資訊。

7.stat -gcoldcapacity pid

           old代物件的資訊及其佔用量。

8.jstat -gcpermcapacity pid

           perm物件的資訊及其佔用量。

9.jstat -class pid

顯示載入

class的數量,及所佔空間等資訊。
10.jstat -compiler pid

顯示VM實時編譯的數量等資訊。

11.jstat -printcompilation pid

當前VM執行的資訊。

二、一些術語的中文解釋:

         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)中當前的容量 (位元組)

         OGCMNold代中初始化(最小)的大小 (位元組

         OGCMXold代的最大容量 (位元組)

         OGCold代當前新生成的容量 (位元組)

         PGCMNperm代中初始化(最小)的大小 (位元組

         PGCMXperm代的最大容量 (位元組)   

         PGCperm代當前新生成的容量 (位元組)

         S0:年輕代中第一個survivor(倖存區)已使用的佔當前容量百分比

         S1:年輕代中第二個survivor(倖存區)已使用的佔當前容量百分比

         E:年輕代中Eden(伊甸園)已使用的佔當前容量百分比

         Oold代已使用的佔當前容量百分比

         Pperm代已使用的佔當前容量百分比

         S0CMX:年輕代中第一個survivor(倖存區)的最大容量 (位元組)

         S1CMX :年輕代中第二個survivor(倖存區)的最大容量 (位元組)

         ECMX:年輕代中Eden(伊甸園)的最大容量 (位元組)

         DSS:當前需要survivor(倖存區)的容量 (位元組)Eden區已滿)

         TT持有次數限制

         MTT 最大持有次數限制

************************學習筆記開始*****************************************

以前用的不多,跟著文章操作一遍,找個有許可權的機器。

1. jstat -gc pid


引數比較多,還是結合jvm記憶體模型的三塊區域來理解, 其中前面C結尾是容量,U結尾是已使用空間。後面分別是GC的次數跟時間。 2. jstat -gccapacity pid
   NGCMN:年輕代(young)中初始化(最小)的大小 (位元組),MX就是最大    NGC:年輕代(young)中當前的容量 (位元組) OGCMNold代中初始化(最小)的大小 (位元組) ,  OGCold代當前新生成的容量 (位元組) PGCMNperm代中初始化(最小)的大小 (位元組

  PGCperm代當前新生成的容量 (位元組)

3.jstat -gcutil


   S0:年輕代中第一個survivor(倖存區)已使用的佔當前容量百分比

         S1:年輕代中第二個survivor(倖存區)已使用的佔當前容量百分比

         E:年輕代中Eden(伊甸園)已使用的佔當前容量百分比

         Oold代已使用的佔當前容量百分比

         Pperm代已使用的佔當前容量百分比

4. jstat -gcnew


         DSS:當前需要survivor(倖存區)的容量 (位元組)Eden區已滿)

         TT持有次數限制

         MTT 最大持有次數限制

jstat -gcnewcapacity pid