58同城煙臺(tái)網(wǎng)站建設(shè)國(guó)內(nèi)營(yíng)銷推廣渠道
命令格式
jstat [Options] pid [interval] [count]
參數(shù)說(shuō)明:
Options,選項(xiàng),一般使用 -gc、-gccapacity查看gc情況
pid,VM的進(jìn)程號(hào),即當(dāng)前運(yùn)行的java進(jìn)程號(hào)
interval,間隔時(shí)間(按該時(shí)間頻率自動(dòng)刷新當(dāng)前內(nèi)存情況),單位毫秒
count,打印次數(shù),如果缺省則打印無(wú)數(shù)次
示例
查看當(dāng)前jvm內(nèi)存情況
jstat -gc 12675
說(shuō)明
1.內(nèi)容單位=KB
2.既能看到JVM內(nèi)存各區(qū)域分配空間 (如S0C、S1C、EC、OC)
3.也能看到JVM內(nèi)存各區(qū)域內(nèi)存已使用空間 (如S0U、S1U、EU、OU)
4.能看到應(yīng)用啟動(dòng)期間GC次數(shù)及時(shí)間 YGC、FGC
結(jié)果的參數(shù)說(shuō)明
顯示內(nèi)容說(shuō)明如下(部分結(jié)果是通過(guò)其他其他參數(shù)顯示的,暫不說(shuō)明):
? ? ? ? ?S0C:年輕代中第一個(gè)survivor(幸存區(qū))的容量 (KB)?
? ? ? ? ?S1C:年輕代中第二個(gè)survivor(幸存區(qū))的容量 (KB)?
? ? ? ? ?S0U:年輕代中第一個(gè)survivor(幸存區(qū))目前已使用空間 (KB)?
? ? ? ? ?S1U:年輕代中第二個(gè)survivor(幸存區(qū))目前已使用空間 (KB)?
? ? ? ? ?EC:年輕代中Eden(伊甸園)的容量 (KB)?
? ? ? ? ?EU:年輕代中Eden(伊甸園)目前已使用空間 (KB)?
? ? ? ? ?OC:Old代的容量 (KB)?
? ? ? ? ?OU:Old代目前已使用空間 (KB)?
? ? ? ? ?MC:元數(shù)據(jù)區(qū)的容量 (KB)?
? ? ? ? ?MU:元數(shù)據(jù)區(qū)目前已使用空間 (KB)?
? ? ? ? ?YGC:從應(yīng)用程序啟動(dòng)到采樣時(shí)年輕代中g(shù)c次數(shù)?
? ? ? ? ?YGCT:從應(yīng)用程序啟動(dòng)到采樣時(shí)年輕代中g(shù)c所用時(shí)間(s)?
? ? ? ? ?FGC:從應(yīng)用程序啟動(dòng)到采樣時(shí)old代(全gc)gc次數(shù)?
? ? ? ? ?FGCT:從應(yīng)用程序啟動(dòng)到采樣時(shí)old代(全gc)gc所用時(shí)間(s)?
? ? ? ? ?GCT:從應(yīng)用程序啟動(dòng)到采樣時(shí)gc用的總時(shí)間(s)?
? ? ? ? ?NGCMN:年輕代(young)中初始化(最小)的大小 (字節(jié))?
? ? ? ? ?NGCMX:年輕代(young)的最大容量 (字節(jié))?
? ? ? ? ?NGC:年輕代(young)中當(dāng)前的容量 (字節(jié))?
? ? ? ? ?OGCMN:old代中初始化(最小)的大小 (字節(jié))?
? ? ? ? ?OGCMX:old代的最大容量 (字節(jié))?
? ? ? ? ?OGC:old代當(dāng)前新生成的容量 (字節(jié))?
? ? ? ? ?S0:年輕代中第一個(gè)survivor(幸存區(qū))已使用的占當(dāng)前容量百分比?
? ? ? ? ?S1:年輕代中第二個(gè)survivor(幸存區(qū))已使用的占當(dāng)前容量百分比?
? ? ? ? ?E:年輕代中Eden(伊甸園)已使用的占當(dāng)前容量百分比?
? ? ? ? ?O:old代已使用的占當(dāng)前容量百分比?
? ? ? ? ?S0CMX:年輕代中第一個(gè)survivor(幸存區(qū))的最大容量 (字節(jié))?
? ? ? ? ?S1CMX :年輕代中第二個(gè)survivor(幸存區(qū))的最大容量 (字節(jié))?
? ? ? ? ?ECMX:年輕代中Eden(伊甸園)的最大容量 (字節(jié))?
? ? ? ? ?DSS:當(dāng)前需要survivor(幸存區(qū))的容量 (字節(jié))(Eden區(qū)已滿)?
? ? ? ? ?TT: 持有次數(shù)限制?
? ? ? ? ?MTT : 最大持有次數(shù)限制?
實(shí)時(shí)查看內(nèi)存使用情況及GC時(shí)內(nèi)存變化(每5s刷新一次)
stat -gc 12675 5000
?圖片說(shuō)明
? ? ? ? 通過(guò)觀察圖片中的標(biāo)識(shí)部分,可以看到代表在發(fā)生YGC,其實(shí)這個(gè)頻率是非常高了,導(dǎo)致這個(gè)問(wèn)題的原因是JVM分配的內(nèi)存才300多M,比較小,所以YGC的頻率已經(jīng)高達(dá)2分鐘內(nèi)就發(fā)生一次