Java命令:jstat — 查看JVM的GC信息
文章目錄
- 一、簡介
- 二、常用命令
- 1、jstat -class pid : class loader行為統(tǒng)計
- 2、jstat -compiler pid : JIT編譯器行為統(tǒng)計
- 3、jstat -gc pid 5000 20 : 垃圾回收堆行為統(tǒng)計
- 4、jstat -gccapacity pid 5000 20 : 堆內(nèi)存統(tǒng)計
- 5、jstat -gcutil pid 5000 20 : 總結(jié)垃圾回收統(tǒng)計
- 6、jstat -gccause pid 5000 20 : 垃圾收集統(tǒng)計概述
- 7、jstat -gcnew pid 5000 20 : 新生代垃圾回收統(tǒng)計
- 8、jstat -gcnewcapacity pid 5000 20 : 新生代內(nèi)存統(tǒng)計
- 9、jstat -gcold pid 5000 20 : 老年代垃圾回收統(tǒng)計
- 10、jstat -gcoldcapacity pid 5000 20 : 老年代內(nèi)存統(tǒng)計
- 11、jstat -gcmetacapacity pid 5000 20 : 元數(shù)據(jù)空間統(tǒng)計
- 12、jstat -printcompilation pid : 編譯方法統(tǒng)計
一、簡介
jstat(JVM statistics Monitoring)命令主要是 對java應(yīng)用程序的資源和性能進行實時的命令行監(jiān)控,包括了對 heap size 和 垃圾回收狀況 的監(jiān)控。
jstat輸出結(jié)果:
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]參數(shù)說明:
| option | 操作參數(shù),我們經(jīng)常使用的選項有g(shù)c、gccapacity、gcnew、gcnewcapacity、gcold、gcoldcapacity、gcmetacapacity、gcutil等。 |
| vmid | java進程ID |
| interval | 間隔時間,單位為毫秒。 |
| count | 打印次數(shù)。 |
option參數(shù)總覽:
| class | class loader的行為統(tǒng)計。 |
| compiler | HotSpot JIT編譯器行為統(tǒng)計。 |
| gc | 垃圾回收堆的行為統(tǒng)計。 |
| gccapacity | 各個垃圾回收代容量(young、old、perm)和他們相應(yīng)的空間統(tǒng)計。 |
| gcutil | 垃圾回收統(tǒng)計概述。 |
| gccause | 垃圾收集器概述。 |
| gcnew | 新生代行為統(tǒng)計。 |
| gcnewcapacity | 新生代與其相應(yīng)的內(nèi)存空間的統(tǒng)計。 |
| gcold | 老年代和永久代行為統(tǒng)計。 |
| gcoldcapacity | 老年代行為統(tǒng)計 |
| gcmetacapacity | 元數(shù)據(jù)區(qū)行為統(tǒng)計。 |
| printcompilation | HotSpot編譯方法統(tǒng)計。 |
二、常用命令
1、jstat -class pid : class loader行為統(tǒng)計
監(jiān)視類裝載、卸載數(shù)量、總空間以及耗費的時間
jstat -class pid輸出結(jié)果:
Loaded Bytes Unloaded Bytes Time4995 10540.4 0 0.0 5.22字段說明:
| Loaded | 加載class的數(shù)量。 |
| Bytes | class字節(jié)大小。 |
| Unloaded | 未加載class的數(shù)量。 |
| Bytes | 未加載class的字節(jié)大小。 |
| Time | 加載時間。 |
2、jstat -compiler pid : JIT編譯器行為統(tǒng)計
輸出JIT編譯過的方法數(shù)量耗時等。
jstat -compiler pid輸出結(jié)果:
Compiled Failed Invalid Time FailedType FailedMethod3641 1 0 16.62 1 com/cloudwise/agent/deps/asm/ClassReader accept字段說明:
| Compiled | 編譯數(shù)量。 |
| Failed | 編譯失敗數(shù)量。 |
| Invalid | 無效數(shù)量。 |
| Time | 編譯耗時。 |
| FailedType | 失敗類型。 |
| FailedMethod | 失敗方法的全限定名。 |
3、jstat -gc pid 5000 20 : 垃圾回收堆行為統(tǒng)計
5秒鐘打印一次,一共打印20次。
jstat -gc pid 5000 20輸出結(jié)果:
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.197C 即 Capacity 總?cè)萘?#xff0c;U 即 Used 已使用的容量。
字段說明:
| S0C | 年輕代第一個Survivor區(qū)的大小(字節(jié)) |
| S1C | 年輕代第二個Survivor區(qū)的大小(字節(jié)) |
| S0U | 年輕代第一個Survivor區(qū)的使用大小(字節(jié)) |
| S1U | 年輕代第二個Survivor區(qū)的使用大小(字節(jié)) |
| EC | 年輕代中Eden區(qū)的大小(字節(jié)) |
| EU | 年輕代中Eden區(qū)的使用大小(字節(jié)) |
| OC | 老年代大小(字節(jié)) |
| OU | 老年代使用大小(字節(jié)) |
| MC | 方法區(qū)大小(字節(jié)) |
| MU | 方法區(qū)使用大小(字節(jié)) |
| CCSC | 壓縮類空間大小(字節(jié)) |
| CCSU | 壓縮類空間使用大小(字節(jié)) |
| YGC | 年輕代垃圾回收次數(shù) |
| YGCT | 年輕代垃圾回收消耗時間 |
| FGC | 老年代垃圾回收次數(shù) |
| FGCT | 老年代垃圾回收消耗時間 |
| GCT | 垃圾回收消耗總時間 |
4、jstat -gccapacity pid 5000 20 : 堆內(nèi)存統(tǒng)計
5秒鐘打印一次,一共打印20次。
同 -gc ,不過還會輸出 Java 堆各區(qū)域使用到的最大、最小空間。
jstat -gccapacity pid 5000 20輸出結(jié)果:
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區(qū)大小 |
| S1C | 第二個Survivor區(qū)的大小 |
| EC | Eden區(qū)的大小 |
| OGCMN | 老年代最小容量 |
| OGCMX | 老年代最大容量 |
| OGC | 當前老年代大小 |
| OC | 當前老年代大小 |
| MCMN | 最小元數(shù)據(jù)容量 |
| MCMX | 最大元數(shù)據(jù)容量 |
| MC | 當前元數(shù)據(jù)空間大小 |
| CCSMN | 最小壓縮類空間大小 |
| CCSMX | 最大壓縮類空間大小 |
| CCSC | 當前壓縮類空間大小 |
| YGC | 年輕代gc次數(shù) |
| FGC | 老年代GC次數(shù) |
5、jstat -gcutil pid 5000 20 : 總結(jié)垃圾回收統(tǒng)計
5秒鐘打印一次,一共打印20次。
同 -gc ,不過輸出的是已使用空間占總空間的百分比
jstat -gcutil pid 5000 20輸出結(jié)果:
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區(qū)當前使用比例 |
| S1 | 第二個Servivor區(qū)當前使用比例 |
| E | Eden區(qū)使用比例 |
| O | 老年代使用比例 |
| M | 元數(shù)據(jù)區(qū)使用比例 |
| CCS | 壓縮使用比例 |
| YGC | 年輕代垃圾回收次數(shù) |
| FGC | 老年代垃圾回收次數(shù) |
| FGCT | 老年代垃圾回收消耗時間 |
| GCT | 垃圾回收消耗總時間 |
6、jstat -gccause pid 5000 20 : 垃圾收集統(tǒng)計概述
5秒鐘打印一次,一共打印20次。
同 -gcutil ,附加最近兩次垃圾回收事件的原因。
jstat -gccause pid 5000 20輸出結(jié)果:
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區(qū)當前使用比例 |
| S1 | 第二個Servivor區(qū)當前使用比例 |
| E | Eden區(qū)使用比例 |
| O | 老年代使用比例 |
| M | 元數(shù)據(jù)區(qū)使用比例 |
| CCS | 壓縮使用比例 |
| YGC | 年輕代垃圾回收次數(shù) |
| FGC | 老年代垃圾回收次數(shù) |
| FGCT | 老年代垃圾回收消耗時間 |
| GCT | 垃圾回收消耗總時間 |
| LGCC | 最近垃圾回收的原因 |
| GCC | 當前垃圾回收的原因 |
7、jstat -gcnew pid 5000 20 : 新生代垃圾回收統(tǒng)計
5秒鐘打印一次,一共打印20次。
jstat -gcnew pid 5000 20輸出結(jié)果:
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區(qū)大小 |
| S1C | 第二個Survivor區(qū)的大小 |
| S0U | 第一個Survivor區(qū)的使用大小 |
| S1U | 第二個Survivor區(qū)的使用大小 |
| TT | 對象在新生代存活的次數(shù) |
| MTT | 對象在新生代存活的最大次數(shù) |
| DSS | 期望的Survivor區(qū)大小 |
| EC | Eden區(qū)的大小 |
| EU | Eden區(qū)的使用大小 |
| YGC | 年輕代垃圾回收次數(shù) |
| YGCT | 年輕代垃圾回收消耗時間 |
8、jstat -gcnewcapacity pid 5000 20 : 新生代內(nèi)存統(tǒng)計
5秒鐘打印一次,一共打印20次。
jstat -gcnewcapacity pid 5000 20輸出結(jié)果:
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區(qū)最大大小 |
| S0C | 第一個Survivor區(qū)當前大小 |
| S1CMX | 第二個Survivor區(qū)最大大小 |
| S1C | 第二個Survivor區(qū)當前大小 |
| ECMX | Eden區(qū)最大大小 |
| EC | Eden區(qū)當前大小 |
| YGC | 年輕代垃圾回收次數(shù) |
| FGC | 老年代回收次數(shù) |
9、jstat -gcold pid 5000 20 : 老年代垃圾回收統(tǒng)計
5秒鐘打印一次,一共打印20次。
jstat -gcold pid 5000 20輸出結(jié)果:
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 | 方法區(qū)大小 |
| MU | 方法區(qū)使用大小 |
| CCSC | 壓縮類空間大小 |
| CCSU | 壓縮類空間使用大小 |
| OC | 老年代大小 |
| OU | 老年代使用大小 |
| YGC | 年輕代垃圾回收次數(shù) |
| FGC | 老年代垃圾回收次數(shù) |
| FGCT | 老年代垃圾回收消耗時間 |
| GCT | 垃圾回收消耗總時間 |
10、jstat -gcoldcapacity pid 5000 20 : 老年代內(nèi)存統(tǒng)計
5秒鐘打印一次,一共打印20次。
jstat -gcoldcapacity pid 5000 20輸出結(jié)果:
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 | 年輕代垃圾回收次數(shù) |
| FGC | 老年代垃圾回收次數(shù) |
| FGCT | 老年代垃圾回收消耗時間 |
| GCT | 垃圾回收消耗總時間 |
11、jstat -gcmetacapacity pid 5000 20 : 元數(shù)據(jù)空間統(tǒng)計
5秒鐘打印一次,一共打印20次。
jstat -gcmetacapacity pid 5000 20輸出結(jié)果:
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 | 最小元數(shù)據(jù)容量 |
| MCMX | 最大元數(shù)據(jù)容量 |
| MC | 當前元數(shù)據(jù)空間大小 |
| CCSMN | 最小壓縮類空間大小 |
| CCSMX | 最大壓縮類空間大小 |
| CCSC | 當前壓縮類空間大小 |
| YGC | 年輕代垃圾回收次數(shù) |
| FGC | 老年代垃圾回收次數(shù) |
| FGCT | 老年代垃圾回收消耗時間 |
| GCT | 垃圾回收消耗總時間 |
12、jstat -printcompilation pid : 編譯方法統(tǒng)計
jstat -printcompilation -pid輸出結(jié)果:
Compiled Size Type Method3745 8 1 java/lang/Long toString字段說明:
| Compiled | 被執(zhí)行的編譯任務(wù)的數(shù)量 |
| Size | 方法字節(jié)碼的字節(jié)數(shù) |
| Type | 編譯類型 |
| Method | 編譯方法的類名和方法名。類名使用"/" 代替 “.” 作為空間分隔符. 方法名是給出類的方法名. 格式是一致于HotSpot - XX:+PrintComplation 選項 |
總結(jié)
以上是生活随笔為你收集整理的Java命令:jstat — 查看JVM的GC信息的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 兴业二连提提示评分不足怎么办?找准原因对
- 下一篇: 宁波银行万利金好批吗?申请人资质是关键