诊断工具 arthas的基本使用
下载
离线服务器需要下载全量包arthas-packaging-3.4.0-bin.zip
联网服务器可以只用arthas-boot.jar
启动
启动:java -jar arthas-boot.jar --telnet-port 9998 --http-port 9999
然后选择对应的java程序,如果启动失败,则根据提示选择其他端口;
基本使用
1.jad
用途:反编译
格式:jad 全量类名
例子:jad demo.MathGame
2.watch
用途:查看方法的入参出参
格式:watch 全量类名 方法名 ‘{params, returnObj}’ -x 5 -n 1
params代表入参
returnObj代表出参
-x 5 表示对参数的遍历深度为5层
-n 1 表示只打印一次
例子:
watch demo.MathGame primeFactors ‘{params, returnObj}’ -x 5 -n 1
3.trace
用途:追踪方法内调用情况,包括调用了哪些方法,耗时,行号
格式:trace 全量类名 方法名 表达式
例子:
trace demo.MathGame run
trace demo.MathGame run ‘#cost > 10’
'#cost > 10’是表达式,表示耗时10毫秒以上的
4.stack
输出当前方法被调用的调用路径
格式:stack 全量类名 方法名
例子:stack demo.MathGame primeFactors
5.logger
用途:查看logger信息,更新logger level
例子,查看logger信息
logger
例子,更改日志level级别
logger -c 49c2faae --name ROOT --level info
解释:-c 表示指定classloader ,后面跟classloader的classLoaderHash,可在logger命令查出