1. 程式人生 > >檢視linux伺服器應用的執行緒cpu使用率

檢視linux伺服器應用的執行緒cpu使用率

最近新上了一個應用,由於該應用交易比較頻繁所以需要監控cpu使用率和記憶體使用率。但是最近在cpu使用率上面遇到了一些難題:

首先是如何檢視cpu應用最高的執行緒:

ps -ef|grep '應用名'

聽過這個命令來獲取需要監控的應用的pid:

獲取pid後使用下列命令來獲取該程序所有執行緒的情況:

top -Hp 'pid'

此時獲取了cpu使用率最高的執行緒數的pid=23225,由於linux的執行緒進位制是十進位制,而java裡面執行緒進位制是16進位制的的,所以需要把10進位制的pid轉化成16進位制

printf "%x\n" 'pid'

最後使用jstack命令來獲取nid為5ab9的執行緒堆疊資訊:

jstack '程序pid' | grep '轉化成後執行緒pid' -A 15

 

最終找到了這個,但是就如我圖片裡面所說的,我找了半天也不知道System Clock執行緒是神馬。。。目前我還