Arthas是一款Java診斷工具,提供了豐富的命令行工具,其中包括了查看耗時大於的命令。本文將從多個方面對Arthas查看耗時大於進行詳細闡述,幫助讀者更好的掌握和使用該命令。
一、查看耗時大於命令簡介
Arthas中的查看耗時大於命令為monitor
命令,該命令可以監控方法調用的時間,輸出超時的調用棧信息,可以很好的定位性能問題。進入Arthas控制台後,輸入以下命令:
$ monitor --cutoff 2000
其中--cutoff
參數表示超時的閾值,單位為毫秒。
二、監控指定類的方法耗時
如果我們只想監控特定的類中的方法耗時,可以使用--cutoff
參數,一起使用--only
參數,指定需要監控的類:
$ monitor --cutoff 2000 --only com.example.demo.controller.UserController
上述命令會監控com.example.demo.controller.UserController
中的方法耗時。如果要監控多個類,需要多次執行monitor
命令。
三、過濾特定方法
在監控中,有時候我們可能不想監控某個特定的方法,可以使用--skip
參數,控制不需要監控的方法:
$ monitor --cutoff 2000 --only com.example.demo.controller --skip findUserById
以上命令會監控com.example.demo.controller
中所有方法,但是不會監控findUserById
方法。
四、監控線程
對於多線程程序,我們可能需要對指定線程進行監控,用--thread
參數即可指定需要監控的線程id:
$ monitor --cutoff 2000 --thread 5
以上命令會監控線程id為5
的線程。
五、輸出結果
在監控命令執行後,會在控制台中輸出超時的調用棧信息,包括類名、方法名、參數、耗時等信息。如下所示:
Class Name | Method Name | Cost(ms) | # |
---------------------|--------------------------|----------|----|
com.example.demo.controller.UserController | getUserById | 1028 | 1 |
com.example.demo.controller.UserController | findAllUsers | 3219 | 2 |
超時的方法會按照耗時從大到小排列。
六、保存結果
如果想將結果保存到文件中,可以使用--output
參數指定輸出文件路徑:
$ monitor --cutoff 2000 --only com.example.demo.controller --output /data/arthas/monitor.log
上述命令會將輸出結果保存到/data/arthas/monitor.log
文件中。
七、命令結束
當要結束monitor
命令時,在命令提示符下按Ctrl-C
即可。
原創文章,作者:XTBKG,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/375465.html