在LINUX上可以使用kill -3 pid > thread.info來取得當前JVM線程的信息;
jstack 這個是用來查看jvm當前的thread mp的。可以看到當前Jvm裡面的線程狀況。
這個對於查找blocked線程比較有意義;
『貳』 如何查看JVM的擴展參數
可以通過以下方法查看正在運行的java實例的JVM參數:
打開Windows任務管理器;
執行「查看」-> 「選擇列」命令,打開「選擇進程頁列」對話框;
勾選「命令行」和「PID」,單擊「確定」按鈕,保存更改;
通過「映像名稱」和「PID」列找到當前正在運行的Java實例,向右滾動,找到「命令行」列,查看當前正在運行的Java實例的命令行,即可查看其JVM參數。
『叄』 Linux使用jstat命令查看jvm的GC情況
Linux 使用jstat命令查看jvm的GC情況
命令格式
jstat命令命令格式:
jstat [Options] vmid[interval] [count]
參數說明:
Options,選項,我們一般使用 -gcutil 查看gc情況
vmid
,VM的進程號,即當前運行的java進程號
interval
,間隔時間,單位為秒或者毫秒
count
,列印次數,如果預設則列印無數次
示例說明
示例
通常運行命令如下:
jstat -gc 12538 5000
即會每5秒一次顯示進程號為12538的java進成的GC情況,
顯示內容如下圖:
結果說明
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
: 最大持有次數限制