問題描述:近期發現生產環境一組服務器CPU忽然飆高,排除死循環及CPU密集型可能性。
解決過程:
一、top (top -H)查詢CPU佔用率較高的進程;服務器
二、ps -mp 15301 -o THREAD,tid,time|sort -rn |more 查詢該進程下全部線程,倒敘排列查找CPU佔有率最高的線程;線程
三、printf "%x\n"16226 將tid 轉化爲16進制格式;隊列
四、jstack 15301 |egrep '3f62|419c|41cd' -C10|more 經過堆棧定位相關代碼。
由此可知曉:LinkedTransferQueue隊列有問題了,具體緣由細看代碼。進程