线上问题排查利器Arthas使用记录

线上问题排查利器Arthas使用记录

官方文档

安装

安装方式①

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

打印帮助信息:
java -jar arthas-boot.jar -h

如果下载速度比较慢,可以使用aliyun的镜像:
java -jar arthas-boot.jar --repo-mirror aliyun --use-http

如果从github下载有问题,可以使用gitee镜像
wget https://arthas.gitee.io/arthas-boot.jar

安装方式②

使用as.sh
Arthas 支持在 Linux/Unix/Mac 等平台上一键安装,请复制以下内容,并粘贴到命令行中,敲 回车 执行即可:
curl -L https://alibaba.github.io/arthas/install.sh | sh
上述命令会下载启动脚本文件 as.sh 到当前目录,你可以放在任何地方或将其加入到 $PATH 中。

直接在shell下面执行./as.sh,就会进入交互界面。
也可以执行./as.sh -h来获取更多参数信息。
如果从github下载有问题,可以使用gitee镜像
curl -L https://arthas.gitee.io/install.sh | sh

打开

./as.sh或者java -jar arthas-boot.jar

查看cpu占用高的3个线程 类似top -H,但是能看到堆栈信息

thread -n 3

跟踪某个方法的调用时间【显示的条数】

trace 包名.类名 方法名 [-n 数字]

monitor命令可以监控方法的执行情况。

比如调用成功次数,失败次数,失败率、平均执行时间等等。默认120秒输出一次,也就是说,当我们输入monitor命令之后,每120秒就会输出一次统计结果。
#通过-c参数可以修改输出频率,支持通配符和正则表达式[多长时间输出一次]
monitor -c 5 包名.类名 方法名

进行获取执行方法的参数【参数第几个】然后获取数据【-n 1为只输出一条】

#$ watch 包名.类名 方法名 params[0].get(0).age -n 1
https://www.cnblogs.com/qiaoyihang/p/10533672.html

进行方法行为预测执行

timetunnel,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测,同时可回放该方法调用
tt -t 包名.类名 方法名

执行的系统环境变量

#sysprop和sysenv
#通过sysprop可以查看所有的系统变量,也可以设置某个系统变量。
#同理,通过sysenv可以查看所有的操作系统环境变量,也可以查看设置某个环境变量。

jvm

#通过jvm命令直接输出当前jvm的各种信息。

类的静态属性

#getstatic
#通过getstatic命令可以方便的查看类的静态属性。

ognl表达式

#ognl
#执行ognl表达式,可执行任意代码


二、命令列表

dashboard 当前系统的实时数据面板。
thread 查看当前线程信息,查看线程的堆栈。
jvm 查看当前JVM信息
sysprop 查看当前JVM的系统属性(System Property)
sysenv 查看当前JVM的环境属性(System Environment Variables)
getstatic 通过getstatic命令可以方便的查看类的静态属性。使用方法为getstatic class_name field_name
ognl 执行ognl表达式
sc 查看JVM已加载的类信息,这个命令支持的参数有 [d]、[E]、[f] 和 [x:]。
sm sm 命令只能看到由当前类所声明 (declaring) 的方法,父类则无法看到
dump dump 已加载类的 bytecode 到特定目录
jad 反编译指定已加载类的源码
classloader 查看classloader的继承树,urls,类加载信息
redefine 加载外部的.class文件,redefine jvm已加载的类。
monitor 方法执行监控,对匹配 class-pattern/method-pattern的类、方法的调用进行监控。
watch 方法执行数据观测,能方便的观察到指定方法的调用情况。
trace 方法内部调用路径,并输出方法路径上的每个节点上耗时。
stack 输出当前方法被调用的调用路径
tt 方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息。
options 全局开关
Arthas的基础命令:

help——查看命令帮助信息
cls——清空当前屏幕区域
session——查看当前会话的信息
reset——重置增强类,将被 Arthas 增强过的类全部还原,Arthas 服务端关闭时会重置所有增强过的类
version——输出当前目标 Java 进程所加载的 Arthas 版本号
history——打印命令历史
quit——退出当前 Arthas 客户端,其他 Arthas 客户端不受影响
shutdown——关闭 Arthas 服务端,所有 Arthas 客户端全部退出
keymap——Arthas快捷键列表及自定义快捷键

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值