Arthas用法

  • 簡介

    Arthas 是Alibaba開源的Java診斷工具,深受開發者喜好。html

    當你遇到如下相似問題而一籌莫展時,Arthas能夠幫助你解決:java

    • 這個類從哪一個 jar 包加載的? 爲何會報各類類相關的 Exception?
    • 我改的代碼爲何沒有執行到? 難道是我沒 commit?分支搞錯了?
    • 遇到問題沒法在線上debug,難道只能經過加日誌再從新發布嗎?
    • 線上遇到某個用戶的數據處理有問題,但線上一樣沒法 debug,線下沒法重現!
    • 是否有一個全局視角來查看系統的運行情況?
    • 有什麼辦法能夠監控到JVM的實時運行狀態?

    安裝

    快速安裝

    wget https://alibaba.github.io/arthas/arthas-boot.jar java -jar arthas-boot.jar 

    aliyun的鏡像linux

    java -jar arthas-boot.jar --repo-mirror aliyun --use-http 

    gitee鏡像git

    wget https://arthas.gitee.io/arthas-boot.jar 

    Arthas 支持在 Linux/Unix/Mac 等平臺上一鍵安裝,請複製如下內容,並粘貼到命令行中,敲 回車 執行便可github

    curl -L https://alibaba.github.io/arthas/install.sh | sh 

    gitee鏡像windows

    curl -L https://arthas.gitee.io/install.sh | sh 

    全量安裝

    1. 下載
    2. 解壓後,在文件夾裏有arthas-boot.jar,直接用java -jar的方式啓動
    java -jar arthas-boot.jar 
    1. 打印幫助信息
    java -jar arthas-boot.jar -h 

    手動安裝

    Linux
    1. 下載
    2. 解壓縮arthas的壓縮包
    unzip arthas-packaging-bin.zip 
    1. 安裝Arthas(注意,這裏根據你須要診斷的Java進程的所屬用戶進行切換)
    sudo su admin
    rm -rf /home/admin/.arthas/lib/* cd arthas ./install-local.sh 
    1. 啓動Arthas
    ./as.sh 
    Windows
    1. 下載
    2. 解壓縮arthas的壓縮包

    基本用法

    1. 啓用arthas
    java -jar arthas-boot.jar 
    1. 選擇應用java進程
    java -jar arthas-boot.jar
    * [1]: 35542 [2]: 71560 arthas-demo.jar Demo進程是第2個,則輸入2,再輸入回車/enter 
    1. 查看dashboard
    dashboard 
    1. 經過thread命令來獲取到arthas-demo進程的Main Class
    thread 1 
    1. 經過jad來反編譯Main Class
    jad demo.MathGame 
    1. 經過watch命令來查看demo.MathGame#primeFactors函數的返回值
    watch demo.MathGame primeFactors returnObj 
    1. 退出arthas
    quit或者exit Attach到目標進程上的arthas還會繼續運行,端口會保持開放,下次鏈接時能夠直接鏈接上。 shutdown 徹底退出arthas 

    卸載

    Linux

    rm -rf ~/.arthas/ rm -rf ~/logs/arthas 

    Windows

    直接刪除user home下面的.arthas和logs/arthas目錄 

    參考連接

相關文章
相關標籤/搜索