1. jstat
這個命令對于查看Jvm的堆棧信息很有用。能夠查看eden,survivor,old,perm等heap的capacity,utility信息
對于查看系統(tǒng)是不是有能存泄漏以及參數(shù)設置是否合理有不錯的意義
2. jstack
這個是用來查看jvm當前的thread dump的。可以看到當前Jvm里面的線程狀況。
這個對于查找blocked線程比較有意義
3. jmap .
這個是用來查看jvm當前的heap dump的。可以看出當前jvm中各種對象的數(shù)量,所占空間等等。
尤其值得一提的是這個命令可以到處一份binary heap dump的bin文件,這個文件能夠直接用
Eclipse Memory Anayliser來分析,并找出潛在的內(nèi)存泄漏的地方。
4. 還有一個比較有用的非jvm命令--netstat
通過這個命令可以看到linux系統(tǒng)當前在各個端口的鏈接狀態(tài),比如查看數(shù)據(jù)庫連接數(shù)等等
jstat
1. jstat -gc pid
可以顯示gc的信息,查看gc的次數(shù),及時間。
其中最后五項,分別是young gc的次數(shù),young gc的時間,full gc的次數(shù),full gc的時間,gc的總時間。
2.jstat -gccapacity pid
可以顯示,VM內(nèi)存中三代(young,old,perm)對象的使用和占用大小,
如:PGCMN顯示的是最小perm的內(nèi)存使用量,PGCMX顯示的是perm的內(nèi)存最大使用量,
PGC是當前新生成的perm內(nèi)存占用量,PC是但前perm內(nèi)存占用量。
其他的可以根據(jù)這個類推, OC是old內(nèi)純的占用量。
3.jstat -gcutil pid
統(tǒng)計gc信息統(tǒng)計。
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的數(shù)量,及所占空間等信息。
10.jstat -compiler pid
顯示VM實時編譯的數(shù)量等信息。
11.stat -PRintcompilation pid
當前VM執(zhí)行的信息。
一些術語的中文解釋:
S0C:年輕代中第一個survivor(幸存區(qū))的容量 (字節(jié))
S1C:年輕代中第二個survivor(幸存區(qū))的容量 (字節(jié))
S0U:年輕代中第一個survivor(幸存區(qū))目前已使用空間 (字節(jié))
S1U:年輕代中第二個survivor(幸存區(qū))目前已使用空間 (字節(jié))
EC:年輕代中Eden(伊甸園)的容量 (字節(jié))
EU:年輕代中Eden(伊甸園)目前已使用空間 (字節(jié))
OC:Old代的容量 (字節(jié))
OU:Old代目前已使用空間 (字節(jié))
PC:Perm(持久代)的容量 (字節(jié))
PU:Perm(持久代)目前已使用空間 (字節(jié))
YGC:從應用程序啟動到采樣時年輕代中gc次數(shù)
YGCT:從應用程序啟動到采樣時年輕代中gc所用時間(s)
FGC:從應用程序啟動到采樣時old代(全gc)gc次數(shù)
FGCT:從應用程序啟動到采樣時old代(全gc)gc所用時間(s)
GCT:從應用程序啟動到采樣時gc用的總時間(s)
NGCMN:年輕代(young)中初始化(最小)的大小 (字節(jié))
NGCMX:年輕代(young)的最大容量 (字節(jié))
NGC:年輕代(young)中當前的容量 (字節(jié))
OGCMN:old代中初始化(最小)的大小 (字節(jié))
OGCMX:old代的最大容量 (字節(jié))
OGC:old代當前新生成的容量 (字節(jié))
PGCMN:perm代中初始化(最小)的大小 (字節(jié))
PGCMX:perm代的最大容量 (字節(jié))
PGC:perm代當前新生成的容量 (字節(jié))
S0:年輕代中第一個survivor(幸存區(qū))已使用的占當前容量百分比
S1:年輕代中第二個survivor(幸存區(qū))已使用的占當前容量百分比
E:年輕代中Eden(伊甸園)已使用的占當前容量百分比
O:old代已使用的占當前容量百分比
P:perm代已使用的占當前容量百分比
S0CMX:年輕代中第一個survivor(幸存區(qū))的最大容量 (字節(jié))
S1CMX :年輕代中第二個survivor(幸存區(qū))的最大容量 (字節(jié))
ECMX:年輕代中Eden(伊甸園)的最大容量 (字節(jié))
DSS:當前需要survivor(幸存區(qū))的容量 (字節(jié))(Eden區(qū)已滿)
TT: 持有次數(shù)限制
MTT : 最大持有次數(shù)限制
jstack
jmap
新聞熱點
疑難解答