日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

show-busy-java-threads查找CPU占用高

發布時間:2023/11/27 生活经验 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 show-busy-java-threads查找CPU占用高 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景:需要查找線上CPU占用過高的Java線程在做什么。

可以使用top命令找出占CPU高的進程

#top 然后按shift+C 按CPU占比排序

然后把進程中占比高的線程id找出來,這個是常見的套路,但是這樣做比較繁瑣。

可以使用show-busy-java-threads工具包快速定位,確實好用。

1.下載安裝

下載

#wget?https://github.com/oldratlee/useful-scripts/archive/release.zip

解壓

#unzip useful-scripts-release.zip

這是介紹:useful-scripts/java.md at master · oldratlee/useful-scripts · GitHub?

show-busy-java-threads
# 從所有運行的Java進程中找出最消耗CPU的線程(缺省5個),打印出其線程棧# 缺省會自動從所有的Java進程中找出最消耗CPU的線程,這樣用更方便
# 當然你可以手動指定要分析的Java進程Id,以保證只會顯示你關心的那個Java進程的信息
show-busy-java-threads -p <指定的Java進程Id>show-busy-java-threads -c <要顯示的線程棧數>show-busy-java-threads <重復執行的間隔秒數> [<重復執行的次數>]
# 多次執行;這2個參數的使用方式類似vmstat命令show-busy-java-threads -a <運行輸出的記錄到的文件>
# 記錄到文件以方便回溯查看show-busy-java-threads -S <存儲jstack輸出文件的目錄>
# 指定jstack輸出文件的存儲目錄,方便記錄以后續分析##############################
# 注意:
##############################
# 如果Java進程的用戶 與 執行腳本的當前用戶 不同,則jstack不了這個Java進程
# 為了能切換到Java進程的用戶,需要加sudo來執行,即可以解決:
sudo show-busy-java-threadsshow-busy-java-threads -s <指定jstack命令的全路徑>
# 對于sudo方式的運行,JAVA_HOME環境變量不能傳遞給root,
# 而root用戶往往沒有配置JAVA_HOME且不方便配置,
# 顯式指定jstack命令的路徑就反而顯得更方便了# -m選項:執行jstack命令時加上-m選項,顯示上Native的棧幀,一般應用排查不需要使用
show-busy-java-threads -m
# -F選項:執行jstack命令時加上 -F 選項(如果直接jstack無響應時,用于強制jstack),一般情況不需要使用
show-busy-java-threads -F
# -l選項:執行jstack命令時加上 -l 選項,顯示上更多相關鎖的信息,一般情況不需要使用
# 注意:和 -m -F 選項一起使用時,可能會大大增加jstack操作的耗時
show-busy-java-threads -l# 幫助信息
$ show-busy-java-threads -h

2.使用

#./show-busy-java-threads

?

參考:JVM那點事—show-busy-java-threads排查CPU性能問題 - 簡書

總結

以上是生活随笔為你收集整理的show-busy-java-threads查找CPU占用高的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。