常用的幾個jvm命令解釋

2021-09-01 15:48:54 字數 2529 閱讀 8325

1. jstat 

這個命令對於檢視jvm的堆疊資訊很有用。能夠檢視eden,survivor,old,perm等heap的capacity,utility資訊

對於檢視系統是不是有能存洩漏以及引數設定是否合理有不錯的意義

2. jstack

這個是用來檢視jvm當前的thread dump的。可以看到當前jvm裡面的執行緒狀況。

這個對於查詢blocked執行緒比較有意義

3. jmap .

這個是用來檢視jvm當前的heap dump的。可以看出當前jvm中各種物件的數量,所佔空間等等。

尤其值得一提的是這個命令可以到處乙份binary heap dump的bin檔案,這個檔案能夠直接用

eclipse memory anayliser來分析,並找出潛在的記憶體洩漏的地方。

4. 還有乙個比較有用的非jvm命令--netstat

通過這個命令可以看到linux系統當前在各個埠的鏈結狀態,比如檢視資料庫連線數等等

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

ogcmn:old代中初始化(最小)的大小 (位元組)

ogcmx:old代的最大容量 (位元組)

ogc:old代當前新生成的容量 (位元組)

pgcmn:perm代中初始化(最小)的大小 (位元組)

pgcmx:perm代的最大容量 (位元組)  

pgc:perm代當前新生成的容量 (位元組)

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

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

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

o:old代已使用的佔當前容量百分比

p:perm代已使用的佔當前容量百分比

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

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

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

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

tt: 持有次數限制

mtt : 最大持有次數限制

關於常用的幾個單位解釋

px畫素 pixel 相對長度單位。畫素px是相對於顯示器螢幕解析度而言的 也就是說是跟物理裝置有關的 拿高清屏和普通屏來做對比就是普通螢幕的1個畫素點就是1個物理畫素點,而高清屏的1個畫素點是4個物理畫素點。em相對長度單位。相對於當前物件內文字的字型尺寸。如當前對行內文字的字型尺寸未被人為設定,...

Spring的幾個常用註解解釋

resource 獲取spring容器中象 依賴注入 configuration 申明這是乙個配置類 componentscan basepackages 定義掃瞄的路徑從中找出標識了需要裝配的類自動裝配到spring的bean容器中 spring框架跟junit整合 runwith springj...

jvm 常用的引數 和 命令

空間分配擔保的意思是,在發生minor gc之前,虛擬機會檢查老年代最大可用的連續空間是否大於新生代所有物件的總空間 如果大於,此次minor gc是安全的,如果小於,則虛擬機會檢視此引數是否允許擔保失敗,如果為true,那麼會繼續檢查老年代最大可用連續空間是否大於歷次晉公升到老年代物件的平均大小,...