本文僅測試及學習Arthas命令的使用方式,對原理不作探討,有興趣的胖友能夠戳下方美團博客的連接,講解的十分不錯.html
arthas中文官方網站java
美團博客關於java動態追蹤的一篇文章,講解了部分原理,推薦閱讀git
官方的命令參考手冊github
arthas是什麼?能作什麼?web
這裏copy官方文檔的一段話來告訴你們.瀏覽器
Arthas 是Alibaba開源的Java診斷工具,深受開發者喜好。bash
當你遇到如下相似問題而一籌莫展時,Arthas能夠幫助你解決:工具
Arthas支持JDK 6+,支持Linux/Mac/Winodws,採用命令行交互模式,同時提供豐富的 Tab 自動補全功能,進一步方便進行問題的定位和診斷。學習
推薦使用:測試
wget https://alibaba.github.io/arthas/arthas-boot.jar
java -jar arthas-boot.jar
複製代碼
選擇已經運行的java進程便可.
以後會進入arthas命令行,也能夠選擇在瀏覽器打開127.0.0.1:8563
,經過webUI來操做.
能夠查看當前JVM的內存信息以及線程信息.
直接使用能夠列出全部的線程,也可使用thread 1
,來查看具體某個線程的堆棧信息.(後面的數字爲線程ID).
反編譯某個class,jad demo.MathGame
,會在命令行打印出反編譯以後的源碼.
經過watch
命令來持續觀測某一個方法的返回值.
watch demo.MathGame primeFactors returnObj
複製代碼
使用exit/quit命令,暫時退出,後續能夠繼續鏈接.
使用shutdown
命令完全斷開鏈接並reset class文件.
查看對應的類加載信息,方法加載信息.
查看方法的內部調用路徑,並返回每一個節點的耗時狀況.
輸出當前方法被調用的調用路徑
完.
以上皆爲我的所思所得,若有錯誤歡迎評論區指正。
歡迎轉載,煩請署名並保留原文連接。
聯繫郵箱:huyanshi2580@gmail.com
更多學習筆記見我的博客------><a href="http://huyan.couplecoders.tech" }}/">呼延十