arthas 阿爾薩斯,Alibaba開源的Java診斷工具,主要命令如下:
dashboard? 儀表盤
thread? 查看當(dāng)前線程, 如:? thread -b 查看當(dāng)前阻塞其他線程的線程
jvm? 查看當(dāng)前jvm信息
sc 查看JVM已加載的類信息 ,“Search-Class” 的簡寫,這個命令能搜索出所有已經(jīng)加載到 JVM 中的 Class 信息
sm 查看已加載類的方法信息,“Search-Method” 的簡寫媒区,這個命令能搜索出所有已經(jīng)加載了 Class 信息的方法信息
jad 反編譯class文件,如:? jad java.lang.String
monitor 監(jiān)控方法執(zhí)行情況,如: monitor -c 5 demo.MathGame primeFactors,統(tǒng)計(jì)該方法5個周期沒的執(zhí)行狀況
watch方法執(zhí)行數(shù)據(jù)觀測,如: watch demo.MathGame primeFactors "{params,returnObj}"-x 2,-x代表遍歷深度
trace? 方法內(nèi)部調(diào)用路徑涡扼,并輸出方法路徑上的每個節(jié)點(diǎn)上耗時,如: trace demo.MathGame run '#cost > 10',展示耗時大于4ms的調(diào)用路徑
stack 輸出當(dāng)前方法被調(diào)用的調(diào)用路徑,如: stack demo.MathGame primeFactors
tt? TimeTunnel,時空隧道,法執(zhí)行數(shù)據(jù)的時空隧道瞒渠,記錄下指定方法每次調(diào)用的入?yún)⒑头祷匦畔⒋剑⒛軐@些不同的時間下調(diào)用進(jìn)行觀測.使用 -p參數(shù)可以重新模擬請求
watch/stack/trace這個三個命令都支持#cost