監聽JVM的幾個命令 可用於linux 本機

2021-09-01 16:21:47 字數 2607 閱讀 2710

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 : 最大持有次數限制

jstack

jmap

Linux中可用於管道操作的命令總結

在linux中藥進行稍複雜的操作,通常需要借助管道命令 多個命令的組合,形式如下 command 1 command 2 command 3 在linux中有些命令可以直接用於管道命令中,有些則不可以,對於不可以直接用於管道的命令需要借助xargs命令 其中,第一種和第二種的結果相似,第三種是適用於...

常用的幾個jvm命令解釋

1.jstat 這個命令對於檢視jvm的堆疊資訊很有用。能夠檢視eden,survivor,old,perm等heap的capacity,utility資訊 對於檢視系統是不是有能存洩漏以及引數設定是否合理有不錯的意義 2.jstack 這個是用來檢視jvm當前的thread dump的。可以看到當...

Linux的幾個命令

1。linux下要刪除非空目錄 rm rf 目錄名 2。linux下複製遠端檔案到本地 scp oneuser 192.168.1.12 abc myfile.tar mytest 用oneuser使用者登入遠端機器,把192.168.1.12上abc資料夾的myfile.tar複製到本地的 myt...