Java命令:jstat — 查看JVM的GC信息

文章目錄

  • 一、簡介
  • 二、常用命令
    • 1、jstat -class pid : class loader行為統計
    • 2、jstat -compiler pid : JIT編譯器行為統計
    • 3、jstat -gc pid 5000 20 : 垃圾回收堆行為統計
    • 4、jstat -gccapacity pid 5000 20 : 堆內存統計
    • 5、jstat -gcutil pid 5000 20 : 總結垃圾回收統計
    • 6、jstat -gccause pid 5000 20 : 垃圾收集統計概述
    • 7、jstat -gcnew pid 5000 20 : 新生代垃圾回收統計
    • 8、jstat -gcnewcapacity pid 5000 20 : 新生代內存統計
    • 9、jstat -gcold pid 5000 20 : 老年代垃圾回收統計
    • 10、jstat -gcoldcapacity pid 5000 20 : 老年代內存統計
    • 11、jstat -gcmetacapacity pid 5000 20 : 元數據空間統計
    • 12、jstat -printcompilation pid : 編譯方法統計

一、簡介

jstat(JVM statistics Monitoring)命令主要是 對java應用程序的資源和性能進行實時的命令行監控,包括了對 heap size垃圾回收狀況 的監控。

jstat

輸出結果:

root@yzh-zabbix-server:bin #jstat
invalid argument count
Usage: jstat -help|-optionsjstat -<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 targetJava virtual machine, typically a process id; <hostname> isthe name of the host running the target Java virtual machine;and <port> is the port number for the rmiregistry on thetarget host. See the jvmstat documentation for a more completedescription 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.

命令格式:

jstat [option] vmid [interval] [count]

參數說明:

參數說明
option操作參數,我們經常使用的選項有gc、gccapacity、gcnew、gcnewcapacity、gcold、gcoldcapacity、gcmetacapacity、gcutil等。
vmidjava進程ID
interval間隔時間,單位為毫秒。
count打印次數。

option參數總覽:

參數說明
classclass loader的行為統計。
compilerHotSpot JIT編譯器行為統計。
gc垃圾回收堆的行為統計。
gccapacity各個垃圾回收代容量(young、old、perm)和他們相應的空間統計。
gcutil垃圾回收統計概述。
gccause垃圾收集器概述。
gcnew新生代行為統計。
gcnewcapacity新生代與其相應的內存空間的統計。
gcold老年代和永久代行為統計。
gcoldcapacity老年代行為統計
gcmetacapacity元數據區行為統計。
printcompilationHotSpot編譯方法統計。

二、常用命令

1、jstat -class pid : class loader行為統計

監視類裝載、卸載數量、總空間以及耗費的時間

jstat -class pid

輸出結果:

Loaded  Bytes  Unloaded  Bytes     Time4995 10540.4        0     0.0       5.22

字段說明:

字段說明
Loaded加載class的數量。
Bytesclass字節大小。
Unloaded未加載class的數量。
Bytes未加載class的字節大小。
Time加載時間。

2、jstat -compiler pid : JIT編譯器行為統計

輸出JIT編譯過的方法數量耗時等。

jstat -compiler pid

輸出結果:

Compiled Failed Invalid   Time   FailedType FailedMethod3641      1       0    16.62          1 com/cloudwise/agent/deps/asm/ClassReader accept

字段說明:

字段說明
Compiled編譯數量。
Failed編譯失敗數量。
Invalid無效數量。
Time編譯耗時。
FailedType失敗類型。
FailedMethod失敗方法的全限定名。

3、jstat -gc pid 5000 20 : 垃圾回收堆行為統計

5秒鐘打印一次,一共打印20次。

jstat -gc pid 5000 20

輸出結果:

root@yzh-zabbix-server:bin #jstat -gc 3111 5000 20S0C    S1C      S0U    S1U      EC       EU        OC         OU       MC     MU      CCSC   CCSU     YGC     YGCT  FGC    FGCT     GCT   
14336.0 24576.0  0.0    0.0   50688.0  50687.9   330752.0   330634.8  55296.0 53462.8 6400.0 5925.3    178    2.226  2483   438.892  441.117
14336.0 24576.0  0.0    0.0   50688.0  50688.0   330752.0   330607.2  55296.0 53467.9 6400.0 5925.3    178    2.226  2511   443.944  446.169
14336.0 24576.0  0.0    0.0   50688.0  50686.3   330752.0   330591.4  55296.0 53467.9 6400.0 5925.3    178    2.226  2541   449.050  451.275
14336.0 24576.0  0.0    0.0   50688.0  50687.9   330752.0   330603.5  55296.0 53467.9 6400.0 5925.3    178    2.226  2569   454.029  456.255
14336.0 24576.0  0.0    0.0   50688.0  50688.0   330752.0   330607.6  55296.0 53467.9 6400.0 5925.3    178    2.226  2598   458.971  461.197

CCapacity 總容量,UUsed 已使用的容量。

字段說明:

字段說明
S0C年輕代第一個Survivor區的大小(字節)
S1C年輕代第二個Survivor區的大小(字節)
S0U年輕代第一個Survivor區的使用大小(字節)
S1U年輕代第二個Survivor區的使用大小(字節)
EC年輕代中Eden區的大小(字節)
EU年輕代中Eden區的使用大小(字節)
OC老年代大小(字節)
OU老年代使用大小(字節)
MC方法區大小(字節)
MU方法區使用大小(字節)
CCSC壓縮類空間大小(字節)
CCSU壓縮類空間使用大小(字節)
YGC年輕代垃圾回收次數
YGCT年輕代垃圾回收消耗時間
FGC老年代垃圾回收次數
FGCT老年代垃圾回收消耗時間
GCT垃圾回收消耗總時間

4、jstat -gccapacity pid 5000 20 : 堆內存統計

5秒鐘打印一次,一共打印20次。

-gc ,不過還會輸出 Java 堆各區域使用到的最大、最小空間。

jstat -gccapacity pid 5000 20

輸出結果:

root@yzh-zabbix-server:bin #jstat -gccapacity 3111 5000 20NGCMN    NGCMX     NGC     S0C      S1C       EC      OGCMN      OGCMX       OGC         OC       MCMN     MCMX       MC     CCSMN    CCSMX      CCSC    YGC    FGC 10752.0 164864.0 110080.0 14336.0 24576.0  50688.0    22016.0   330752.0   330752.0   330752.0     0.0   1097728.0  55296.0   0.0    1048576.0   6400.0  178    749110752.0 164864.0 110080.0 14336.0 24576.0  50688.0    22016.0   330752.0   330752.0   330752.0     0.0   1097728.0  55296.0   0.0    1048576.0   6400.0  178    752010752.0 164864.0 110080.0 14336.0 24576.0  50688.0    22016.0   330752.0   330752.0   330752.0     0.0   1097728.0  55296.0   0.0    1048576.0   6400.0  178    7547

字段說明:

字段說明
NGCMN新生代最小容量
NGCMX新生代最大容量
NGC當前新生代容量
S0C第一個Survivor區大小
S1C第二個Survivor區的大小
ECEden區的大小
OGCMN老年代最小容量
OGCMX老年代最大容量
OGC當前老年代大小
OC當前老年代大小
MCMN最小元數據容量
MCMX最大元數據容量
MC當前元數據空間大小
CCSMN最小壓縮類空間大小
CCSMX最大壓縮類空間大小
CCSC當前壓縮類空間大小
YGC年輕代gc次數
FGC老年代GC次數

5、jstat -gcutil pid 5000 20 : 總結垃圾回收統計

5秒鐘打印一次,一共打印20次。

-gc ,不過輸出的是已使用空間占總空間的百分比

jstat -gcutil pid 5000 20

輸出結果:

root@yzh-zabbix-server:bin #jstat -gcutil 3111 5000 20S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT   0.00   0.00 100.00  99.95  96.75  92.57  178    2.226   10172  1772.566 1774.7910.00   0.00 100.00  99.95  96.75  92.57  178    2.226   10203  1777.589 1779.8140.00   0.00 100.00  99.95  96.75  92.57  178    2.226   10234  1782.580 1784.806

字段說明:

字段說明
S0第一個Servivor區當前使用比例
S1第二個Servivor區當前使用比例
EEden區使用比例
O老年代使用比例
M元數據區使用比例
CCS壓縮使用比例
YGC年輕代垃圾回收次數
FGC老年代垃圾回收次數
FGCT老年代垃圾回收消耗時間
GCT垃圾回收消耗總時間

6、jstat -gccause pid 5000 20 : 垃圾收集統計概述

5秒鐘打印一次,一共打印20次。

-gcutil ,附加最近兩次垃圾回收事件的原因。

jstat -gccause pid 5000 20

輸出結果:

S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT    LGCC                 GCC
0.00   0.00  35.78  19.43  97.96  95.19     20    0.176    11    0.406    0.582 Heap Inspection Initiated GC No GC

字段說明:

字段說明
S0第一個Servivor區當前使用比例
S1第二個Servivor區當前使用比例
EEden區使用比例
O老年代使用比例
M元數據區使用比例
CCS壓縮使用比例
YGC年輕代垃圾回收次數
FGC老年代垃圾回收次數
FGCT老年代垃圾回收消耗時間
GCT垃圾回收消耗總時間
LGCC最近垃圾回收的原因
GCC當前垃圾回收的原因

7、jstat -gcnew pid 5000 20 : 新生代垃圾回收統計

5秒鐘打印一次,一共打印20次。

jstat -gcnew pid 5000 20

輸出結果:

root@yzh-zabbix-server:bin #jstat -gcnew 3111 5000 20S0C       S1C      S0U    S1U  TT  MTT    DSS      EC       EU       YGC     YGCT  
14336.0  24576.0    0.0    0.0  12  15   24576.0  50688.0  50688.0    178    2.226
14336.0  24576.0    0.0    0.0  12  15   24576.0  50688.0  50688.0    178    2.226
14336.0  24576.0    0.0    0.0  12  15   24576.0  50688.0  50688.0    178    2.226

字段說明:

字段說明
S0C第一個Survivor區大小
S1C第二個Survivor區的大小
S0U第一個Survivor區的使用大小
S1U第二個Survivor區的使用大小
TT對象在新生代存活的次數
MTT對象在新生代存活的最大次數
DSS期望的Survivor區大小
ECEden區的大小
EUEden區的使用大小
YGC年輕代垃圾回收次數
YGCT年輕代垃圾回收消耗時間

8、jstat -gcnewcapacity pid 5000 20 : 新生代內存統計

5秒鐘打印一次,一共打印20次。

jstat -gcnewcapacity pid 5000 20

輸出結果:

root@yzh-zabbix-server:bin #jstat -gcnewcapacity 3111 5000 20NGCMN      NGCMX       NGC      S0CMX     S0C     S1CMX     S1C       ECMX        EC      YGC   FGC 10752.0   164864.0   110080.0  54784.0  14336.0  54784.0  24576.0   163840.0    50688.0   178 1482410752.0   164864.0   110080.0  54784.0  14336.0  54784.0  24576.0   163840.0    50688.0   178 1485010752.0   164864.0   110080.0  54784.0  14336.0  54784.0  24576.0   163840.0    50688.0   178 14878

字段說明:

字段說明
NGCMN新生代最小容量
NGCMX新生代最大容量
NGC當前新生代容量
S0CMX第一個Survivor區最大大小
S0C第一個Survivor區當前大小
S1CMX第二個Survivor區最大大小
S1C第二個Survivor區當前大小
ECMXEden區最大大小
ECEden區當前大小
YGC年輕代垃圾回收次數
FGC老年代回收次數

9、jstat -gcold pid 5000 20 : 老年代垃圾回收統計

5秒鐘打印一次,一共打印20次。

jstat -gcold pid 5000 20

輸出結果:

root@yzh-zabbix-server:bin #jstat -gcold 3111 5000 20MC       MU      CCSC     CCSU       OC          OU       YGC    FGC    FGCT     GCT   55552.0  53550.5   6400.0   5924.5    330752.0    330602.1    178 16635 2895.316 2897.54155552.0  53550.5   6400.0   5924.5    330752.0    330601.3    178 16665 2900.278 2902.50455552.0  53550.5   6400.0   5924.5    330752.0    330604.3    178 16693 2905.210 2907.435

字段說明:

字段說明
MC方法區大小
MU方法區使用大小
CCSC壓縮類空間大小
CCSU壓縮類空間使用大小
OC老年代大小
OU老年代使用大小
YGC年輕代垃圾回收次數
FGC老年代垃圾回收次數
FGCT老年代垃圾回收消耗時間
GCT垃圾回收消耗總時間

10、jstat -gcoldcapacity pid 5000 20 : 老年代內存統計

5秒鐘打印一次,一共打印20次。

jstat -gcoldcapacity pid 5000 20

輸出結果:

root@yzh-zabbix-server:bin #jstat -gcoldcapacity 3111 5000 20OGCMN       OGCMX        OGC         OC       YGC   FGC    FGCT     GCT   22016.0    330752.0    330752.0    330752.0   178 17810 3099.915 3102.14022016.0    330752.0    330752.0    330752.0   178 17840 3104.912 3107.13722016.0    330752.0    330752.0    330752.0   178 17870 3109.847 3112.073

字段說明:

字段說明
OGCMN老年代最小容量
OGCMX老年代最大容量
OGC當前老年代大小
OC老年代大小
YGC年輕代垃圾回收次數
FGC老年代垃圾回收次數
FGCT老年代垃圾回收消耗時間
GCT垃圾回收消耗總時間

11、jstat -gcmetacapacity pid 5000 20 : 元數據空間統計

5秒鐘打印一次,一共打印20次。

jstat -gcmetacapacity pid 5000 20

輸出結果:

root@yzh-zabbix-server:bin #jstat -gcmetacapacity 3111 5000 20MCMN       MCMX        MC       CCSMN      CCSMX       CCSC     YGC   FGC    FGCT     GCT   0.0     1097728.0    55552.0    0.0     1048576.0     6400.0   178  18795  3270.543 3272.7680.0     1097728.0    55552.0    0.0     1048576.0     6400.0   178  18824  3275.425 3277.6500.0     1097728.0    55552.0    0.0     1048576.0     6400.0   178  18853  3280.369 3282.595

字段說明:

字段說明
MCMN最小元數據容量
MCMX最大元數據容量
MC當前元數據空間大小
CCSMN最小壓縮類空間大小
CCSMX最大壓縮類空間大小
CCSC當前壓縮類空間大小
YGC年輕代垃圾回收次數
FGC老年代垃圾回收次數
FGCT老年代垃圾回收消耗時間
GCT垃圾回收消耗總時間

12、jstat -printcompilation pid : 編譯方法統計

jstat -printcompilation -pid

輸出結果:

Compiled  Size  Type Method3745      8    1  java/lang/Long toString

字段說明:

字段說明
Compiled被執行的編譯任務的數量
Size方法字節碼的字節數
Type編譯類型
Method編譯方法的類名和方法名。類名使用"/" 代替 “.” 作為空間分隔符. 方法名是給出類的方法名. 格式是一致于HotSpot - XX:+PrintComplation 選項



本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/446747.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/446747.shtml
英文地址,請注明出處:http://en.pswp.cn/news/446747.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

算法章節 遞歸、排序、?分查找

遞歸 概念與特性函數調?函數?身的編程?式叫做遞歸&#xff0c;調?為”遞“&#xff0c;返回為”歸“三個條件1. ?個問題的解可以分解為多個?問題的解&#xff1b; 2. 分解之后的?問題&#xff0c;除了數據規模不同&#xff0c;求解思路跟原問題相同&#xff1b; 3. 存在…

codeforces 50A-C語言解題報告

50A題目網址 解題報告-others 題目解析 1.輸入n x m大小的木板,使用21大小的多米諾去填滿,求最多的多米諾數目 2.通過分析把木板分為奇數和偶數的情況 1)有一邊是偶數的情況: 使用2去填滿 2)兩個邊都是奇數 奇數-1偶數 還是讓木板的(奇數-1)邊去和2平行,再加上 (m-1)/2(n/1)…

Java命令:jps — 查看進程信息

文章目錄一、簡介二、常用命令1、jps2、jps -l3、jps -q4、jps -m5、jps -v6、jps失效一、簡介 JVM Process Status Tool&#xff0c;顯示指定系統內所有的HotSpot虛擬機進程。 功能&#xff1a; 顯示當前所有java進程pid的命令&#xff0c;我們可以通過這個命令來查看到底啟…

操作系統概述 記錄操作系統相關知識

操作系統 現代計算機系統由一個或多個處理器、主存、打印機、鍵盤、鼠標、顯示器、網絡接口以及各種輸入/輸出設備構成。上面提到的這些東西都屬于硬件資源&#xff0c;用戶不會直接和硬件進行交互&#xff0c;計算機安裝了一層軟件&#xff0c;這層軟件能夠通過響應用戶輸入的…

2014年英語一作文partA

作文講解網址 題目 Write a letter of about 100 words to the president of your university, suggesting how to improve students’ physical condition. You should include the details you think necessary. You should write neatly on the ANSWER SHEET. Do not sign…

JDK工具使用大全

文章目錄一、簡介一、簡介 在JDK的bin目錄下有很多命令行工具&#xff1a; 常用工具使用詳解如下&#xff1a; Java命令&#xff1a;jps — 查看進程信息 Java命令&#xff1a;jstack — 獲取線程dump信息 Java命令&#xff1a;jmap — 打印指定進程的共享對象內存映射或…

Linux進程 excel族函數的用法

介紹 使用fork創建一個進程之后&#xff0c;經常會在新進程中調用exec函數執行別的程序當前進程調用exec函數之后&#xff0c;這個進程會被完全替代換成新的程序&#xff0c;即便如此仍然是同一個進程&#xff0c;進程ID不變函數族 execl execlp execle execvp execvpe頭文件 …

codeforces 118A-C語言解題報告

118A題目網址 題目解析 1.輸入一個英語字符串,要求把其中的元音字母刪去(元音是字母“A”、“O”、“Y”、“E”、“U”、“I”包括大小寫&#xff0c;其余的是輔音),把剩余的輔音字母全部變為小寫,并在每一個輔音字母之前加上一個. 如: 輸入: Codeforces 輸出: .c.d.f.r.c.s…

ArrayList和HashMap遍歷比較

目錄一、ArrayList遍歷方式1、普通for循環遍歷2、增強for循環遍歷3、Iterator迭代器遍歷4、三種方式比較二、Map遍歷方式1、增強for循環 keySet() 遍歷2、增強for循環 entrySet() 遍歷3、Iterator keySet() 遍歷4、Itorator entrySet() 遍歷5、四種方式比較三、java開發手冊…

C++primer 12章 動態內存和智能指針

C引入智能指針的目的 使用智能指針來管理動態分配的對象&#xff0c;當一個對象應該被釋放的時候&#xff0c;指向他的智能指針確保自動釋放它 內存分配 靜態內存&#xff1a;局部static對象、類static數據成員、定義在任何函數之外的變量棧內存&#xff1a;定義在函數內的非…

Mac下iTerm2的安裝與配置

目錄一、iTerm2簡介二、下載以及安裝三、iTerm2主題配置四、配置Oh My Zsh1、安裝方式&#xff08;1&#xff09;一鍵安裝&#xff08;2&#xff09;手動安裝3、切換zsh4、修改主題五、配置Meslo字體六、聲明高亮七、自動建議填充八、iTerm2快速隱藏和顯示九、iTerm2隱藏用戶名…

codeforces 282A-C語言解題報告

282A題目網址 題目解析 1.第一行輸入n(表示有n條語句都要執行),再輸入X,X(都表示X1),–X,X–(都表示X-1),最初X0,輸出X的值 2.使用字符數組去存放每一行的字符串,因為字符串,所以直接整體存入scanf("%s",c); 3.因為字符數組最后一個是’\0’去表示末尾,所以要開辟…

Java命令:jinfo — 查看進程參數

目錄一、簡介二、常用命令1、jinfo -flags pid : 打印當前指定java進程中已經設定的所有JVM參數信息2、jinfo -flag pid : 打印指定名稱的參數3、jinfo -flag [|-] pid : 打開或關閉參數4、jinfo -sysprops pid : 打印當前java進程中設定的系統環境參數一、簡介 jinfo 是 JDK …

C++primer第八章 IO庫 8.1 IO類

IO庫設施 istream &#xff08;輸入流&#xff09;類型&#xff0c;提供輸入操作。ostream &#xff08;輸出流&#xff09;類型&#xff0c;提供輸出操作。cin,—個 istream對象&#xff0c;從標準輸入讀取數據。cout, 一個ostream對象&#xff0c;向標準輸出寫入數據。cerr…

2014年英語一作文partB漫畫作文

題目 Write an essay of 160-200 words based on the following drawing.In your essay you should describe the drawing brieflyexplain its intended meaning,give your comments 做題點 1.使用三段式,第一段:圖片內容;第二段:圖片暗示;第三段:寫自己的評論 2.描述圖片…

Spring Cloud 系列之 Nacos 配置中心

目錄一、Nacos簡介二、Nacos安裝及配置1、環境準備2、安裝包下載&#xff08;1&#xff09;源碼方式&#xff08;2&#xff09;發行包方式3、啟動Nacos服務4、Nacos數據庫配置&#xff08;1&#xff09;MySQL數據源&#xff08;2&#xff09;初始化 MySQL 數據庫&#xff08;3&…

C++primer第八章 IO庫 8.2 文件輸入輸出

8.2文件輸入輸出 頭文件fstream定義了三個類型來支持文件IO&#xff1a;ifstream從一個給定文件讀取數據&#xff0c;ofstream向一個給定文件寫入數據&#xff0c;以及fstream可以讀寫給定文件。在17.5.3節中&#xff08;第676頁&#xff09;我們將介紹如何對同一個文件流既讀…

codeforces 112A-C語言解題報告

112A題目網址 題目解析 1.輸入兩行字符串,不區分大小寫地使用字典序去比較大小 A<B -1 A>B 1 AB 0 舉例: 輸入 abcdefg AbCdEfF 輸出 1 2.字典序:在遇到第一個不同的字符時,比較的大小,就是字符串的大小 列舉法: 1.列出所有情況 1)a[i]是大寫,b[i]是小寫 a[i]轉換為小…

SpringBoot 集成 Nacos

目錄一、前言二、Nacos集成1、引入Nacos依賴2、設置Nacos配置3、加載Nacos配置中心配置項4、Nacos集成驗證5、Nacos配置中心配置項動態生效Nacos安裝詳見&#xff1a;Spring Cloud 系列之 Nacos 配置中心 一、前言 上一篇已經講解了怎樣安裝安裝、啟動、配置 Nacos&#xff0c…

C++primer第八章 IO庫 8.3string流

8.3string流 sstream頭文件定義了三個類型來支持內存IO,這些類型可以向string寫入數據,從string讀取數據&#xff0c;就像string是一個IO流一樣。istringstream從string讀取數據&#xff0c;ostringstream向string寫入數據&#xff0c;而頭文件stringstream既可從string讀數據…