jvm監(jiān)控命令

1、找出Java進(jìn)程ID,我部署在服務(wù)器上的Java應(yīng)用名稱為mrf-center:
ps -ef | grep mrf-center | grep -v grep
root 21711 1 1 14:47 pts/3 00:02:10 java -jar mrf-center.jar
得到進(jìn)程ID為21711
2、找出該進(jìn)程內(nèi)最耗費(fèi)CPU的線程 top -Hp pid
![20140128214840_205.png](https://upload-images.jianshu.io/upload_images/5738996-9563d1eb598da761.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/12
TIME列就是各個(gè)Java線程耗費(fèi)的CPU時(shí)間,CPU時(shí)間最長(zhǎng)的是線程ID為21742的線程,用 printf "%x\n" 21742
得到21742的十六進(jìn)制值為54ee,下面會(huì)用到。
jstack 21711 | grep 54ee 用來(lái)輸出進(jìn)程21711的堆棧信息,然后根據(jù)線程ID的十六進(jìn)制值grep

"PollIntervalRetrySchedulerThread" prio=10 tid=0x00007f950043e000 nid=0x54ee in Object.wait() [0x00007f94c6eda000]

jmap -heap 21711 查看進(jìn)程堆內(nèi)存使用情況,包括使用的GC算法、堆配置參數(shù)和各代中堆內(nèi)存使用情況

jmap -histo:live 21711 | more 查看堆內(nèi)存中的對(duì)象數(shù)目、大小統(tǒng)計(jì)直方圖,如果帶上live則只統(tǒng)計(jì)活對(duì)象

jstat -gc 21711 250 4 輸出的是GC信息,采樣時(shí)間間隔為250ms,采樣數(shù)為4:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容