回覆列表
  • 1 # IT資訊i

    百度搜索圈T社群 免費行業影片教程

    www.aiquanti.com

    方法1

    1.jps 獲取Java程序的PID。

    2.jstack pid >> java.txt 匯出CPU佔用高程序的執行緒棧。

    3.top -H -p PID 檢視對應程序的哪個執行緒佔用CPU過高。

    4.echo “obase=16; PID” | bc 將執行緒的PID轉換為16進位制,大寫轉換為小寫。

    5.在第二步匯出的Java.txt中查詢轉換成為16進位制的執行緒PID。找到對應的執行緒棧。

    6.分析負載高的執行緒棧都是什麼業務操作。最佳化程式並處理問題。

    方法2

    1.使用top 定位到佔用CPU高的程序PID

    top

    透過ps aux | grep PID命令

    2.獲取執行緒資訊,並找到佔用CPU高的執行緒

    ps -mp pid -o THREAD,tid,time | sort -rn

    3.將需要的執行緒ID轉換為16進位制格式

    printf "%x\n" tid

    4.列印執行緒的堆疊資訊

    jstack pid |grep tid -A 30

  • 中秋節和大豐收的關聯?
  • 怎麼看,F35戰機竟然無法在雷電天氣下正常飛行?