Arthas —— java診斷工具

在不知道Arthas之前

  • 如果線上出bug,無法debug的情況,需要重新打日志發(fā)布?
  • 修改的代碼沒有執(zhí)行到,線上的代碼和本地不一樣?
  • 怎么監(jiān)控JVM實(shí)時(shí)運(yùn)行狀態(tài)?

這些問題都在折磨著我們,你如果沒有其他的更好方案或者方法解決,Arthas[1] 適合你。

基礎(chǔ)用法

  1. 下載arthas-demo 使用java -jar啟動(dòng)
curl -O https://alibaba.github.io/arthas/arthas-boot.jar
java -jar arthas-boot.jar

選擇你需要attach的目標(biāo)進(jìn)程,(3395進(jìn)程是本地啟動(dòng)的一個(gè)java應(yīng)用)


image.png

選擇1 之后


image.png
  1. 觀察線程3395 java應(yīng)用中一個(gè)接口的入?yún)⒑统鰠?/li>
watch 接口全限定名 接口名 "{params,returnObj}" -x 2 
image.png
  1. 反編譯 java應(yīng)用中的一個(gè)類。
jad 接口全限定名
image.png
  1. 查看當(dāng)前jvm 相關(guān)信息
jvm

命令總覽

image.png

最后

命令太多記不住怎么辦? IDE插件助你騰飛 ——Idea arthas 插件插件安裝指南。
右鍵 - > 選擇對(duì)應(yīng)的操作,命令已經(jīng)復(fù)制,去粘貼就好了。

image.png

參考:https://github.com/alibaba/arthas/issues/1003
? ? ? ? https://alibaba.github.io/arthas/


  1. Arthas支持JDK 6+,支持Linux/Mac/Winodws,采用命令行交互模式,同時(shí)提供豐富的 Tab 自動(dòng)補(bǔ)全功能,進(jìn)一步方便進(jìn)行問題的定位和診斷 ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容