大數據熱點面試之Linux(2):CPU佔用過高,如何定位問題?

文章最後有每日干貨分享偶,記得查收!

問題描述:假如生產環境出現CPU佔用過高,請談談你的分析思路和定位?

解決方案:結合Linux和JDK命令一塊分析

  1. 先用top命令找出CPU佔比最高的線程。
  2. ps -ef或者jps進一步定位,得知是一個怎麼樣的一個後臺程序。
  3. 定位到具體線程或者代碼。
  4. 將需要的線程ID轉換為16進制格式(英文小寫格式)。
  5. jstack 進程ID | grep tid(16進制線程ID小寫英文) -A60。


案例圖示詳解:


大數據熱點面試之Linux(2):CPU佔用過高,如何定位問題?

1. 先用top命令找出CPU佔比最高的


大數據熱點面試之Linux(2):CPU佔用過高,如何定位問題?

3.ps -mp 進程 -o THREAD,tid,time定位到具體線程或者代碼

  1. printf "%x\n" 有問題的線程ID
  1. jstack 進程ID | grep tid(16進制線程ID小寫英文) -A60

乾貨分享:分享一本阿里java程序員必看的內功神書:《深入Java虛擬機》關注留言直接獲取網盤提取碼。


大數據熱點面試之Linux(2):CPU佔用過高,如何定位問題?

大數據熱點面試之Linux(2):CPU佔用過高,如何定位問題?

作者以易於理解的方式深入揭示了Java虛擬機的內部工作原理,將對讀者更快速地編寫更高效的程序大有裨益!


分享到:


相關文章: