monitor java process on linux with jvm tool

A妒牙、 jps(Java Virtual Machine Process Status Tool)

    jps主要用來輸出JVM中運行的進程狀態(tài)信息外邓。語法格式如下:
    jps [options] [hostid]
    如果不指定hostid就默認為當前主機或服務器。
    
    jps -help

     命令行參數選項說明如下:
    -q 不輸出類名、Jar名和傳入main方法的參數
    -m 輸出傳入main方法的參數
    -l 輸出main類或Jar的全限名
    -v 輸出傳入JVM的參數

B非凌、 jstack

jstack主要用來查看某個Java進程內的線程堆棧信息。語法格式如下:

jstack [option] pid
jstack [option] executable core
jstack [option] [server-id@]remote-hostname-or-ip
    命令行參數選項說明如下:

-l long listings荆针,會打印出額外的鎖信息敞嗡,在發(fā)生死鎖時可以用jstack -l pid來觀察鎖持有情況
-m mixed mode颁糟,不僅會輸出Java堆棧信息,還會輸出C/C++堆棧信息(比如Native方法)
jstack可以定位到線程堆棧喉悴,根據堆棧信息我們可以定位到具體代碼棱貌,所以它在JVM性能調優(yōu)中使用得非常多。下面我們來一個實例找出某個Java進程中最耗費CPU的Java線程并定位堆棧信息箕肃,用到的命令有ps婚脱、top、printf勺像、jstack障贸、grep。


1咏删、先得到進程ID為6011惹想,第二步找出該進程內最耗費CPU的線程,可以使用ps -Lfp pid或者ps -mp pid -o THREAD, tid, time或者top -Hp pid
2督函、top -Hp 6011 定位線程pid,轉成16進制
3嘀粱、jstack 6011 | grep 16進制   定位代碼   

C、 jmap(Memory Map)和jhat(Java Heap Analysis Tool)

jmap用來查看堆內存使用狀況辰狡,一般結合jhat使用锋叨。
jmap語法格式如下:

jmap [option] pid
jmap [option] executable core
jmap [option] [server-id@]remote-hostname-or-ip
    如果運行在64位JVM上,可能需要指定-J-d64命令選項參數宛篇。

jmap -permstat pid
    打印進程的類加載器和類加載器加載的持久代對象信息娃磺,輸出:類加載器名稱、對象是否存活(不可靠)叫倍、對象地址偷卧、父類加載器、已加載的類大小等信息


 還有一個很常用的情況是:用jmap把進程內存使用情況dump到文件中吆倦,再用jhat分析查看听诸。jmap進行dump命令格式如下:

jmap -dump:format=b,file=dumpFileName pid
class name是對象類型,說明如下:

B  byte
C  char
D  double
F  float
I  int
J  long
Z  boolean
[  數組蚕泽,如[I表示int[]
[L+類名 其他對象

D晌梨、jstat(JVM統計監(jiān)測工具)

    語法格式如下:

jstat [ generalOption | outputOptions vmid [interval[s|ms] [count]] ]


  vmid是虛擬機ID,在Linux/Unix系統上一般就是進程ID须妻。interval是采樣時間間隔仔蝌。count是采樣數目。比如下面輸出的是GC信息荒吏,采樣時間間隔為250ms敛惊,采樣數為4:
jstat -gc 21711 250 4

每隔5s監(jiān)控一次內存回收情況
jstat -gcutil pid 5s

E 代表 Eden 區(qū)使用率;
O(Old)代表老年代使用率    司倚;
P(Permanent)代表永久代使用率豆混;

CCS 壓縮使用比例

M 元空間(MetaspaceSize)已使用的占當前容量百分比
YGC(Young GC)代表Minor GC 次數篓像;
YGCT代表Minor GC耗時;
FGC(Full GC)代表Full GC次數皿伺;
FGCT(Full GC)代表Full GC耗時员辩;
GCT代表Minor & Full GC共計耗時。
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末鸵鸥,一起剝皮案震驚了整個濱河市奠滑,隨后出現的幾起案子,更是在濱河造成了極大的恐慌妒穴,老刑警劉巖宋税,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異讼油,居然都是意外死亡杰赛,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門矮台,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乏屯,“玉大人,你說我怎么就攤上這事瘦赫〕皆危” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵确虱,是天一觀的道長含友。 經常有香客問我,道長校辩,這世上最難降的妖魔是什么窘问? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮宜咒,結果婚禮上南缓,老公的妹妹穿的比我還像新娘。我一直安慰自己荧呐,他們只是感情好,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布纸镊。 她就那樣靜靜地躺著倍阐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪逗威。 梳的紋絲不亂的頭發(fā)上峰搪,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天,我揣著相機與錄音凯旭,去河邊找鬼概耻。 笑死使套,一個胖子當著我的面吹牛,可吹牛的內容都是我干的鞠柄。 我是一名探鬼主播侦高,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼厌杜!你這毒婦竟也來了奉呛?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤夯尽,失蹤者是張志新(化名)和其女友劉穎瞧壮,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體匙握,經...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡咆槽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了圈纺。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片秦忿。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖赠堵,靈堂內的尸體忽然破棺而出小渊,到底是詐尸還是另有隱情,我是刑警寧澤茫叭,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布酬屉,位于F島的核電站,受9級特大地震影響揍愁,放射性物質發(fā)生泄漏呐萨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一莽囤、第九天 我趴在偏房一處隱蔽的房頂上張望谬擦。 院中可真熱鬧,春花似錦朽缎、人聲如沸惨远。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽北秽。三九已至,卻和暖如春最筒,著一層夾襖步出監(jiān)牢的瞬間贺氓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工床蜘, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留辙培,地道東北人蔑水。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像扬蕊,于是被迫代替她去往敵國和親搀别。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內容