1、使用top看一下
如下圖所示,發(fā)現(xiàn)%CPU 達(dá)到105.6 CPU 占用率很高,虛擬內(nèi)存占用也很多
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
20513 wuhuiqi+ 20 0 35.962g 1.190g 13164 S 105.6 0.9 61405:41 java
10711 fifth 20 0 13.269g 1.293g 14368 S 2.3 1.0 2105:26 java
2、查看指定進(jìn)程相關(guān)的線程
top -p PID -H 來查詢占用CPU 占用很多的線程
top -p 20513 -H
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
20791 wuhuiqi+ 20 0 35.962g 1.190g 13164 R 99.3 0.9 57308:18 java
20721 wuhuiqi+ 20 0 35.962g 1.190g 13164 S 0.7 0.9 171:31.55 java
20729 wuhuiqi+ 20 0 35.962g 1.190g 13164 S 0.7 0.9 171:12.99 java
20731 wuhuiqi+ 20 0 35.962g 1.190g 13164 S 0.7 0.9 171:06.91 java
20714 wuhuiqi+ 20 0 35.962g 1.190g 13164 S 0.3 0.9 170:57.62 java
20717 wuhuiqi+ 20 0 35.962g 1.190g 13164 S 0.3 0.9 171:15.67 java
20718 wuhuiqi+ 20 0 35.962g 1.190g 13164 S 0.3 0.9 171:12.73 java
3、進(jìn)制轉(zhuǎn)換
將相關(guān)的消耗CPU 多的線程的ID 轉(zhuǎn)為16進(jìn)制
Printf “%x\n” 20791
“5137n”
4、jstack查看進(jìn)程信息
jstack 20513 | grep 5137n
jstack pid | grep 線程Id16進(jìn)制
然后根據(jù)線程信息進(jìn)行分析即可