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