下载地址
https://github.com/alibaba/arthas/releases
官方教程
https://github.com/alibaba/arthas/blob/master/README_CN.md
https://arthas.aliyun.com/doc/quick-start.html 推荐
https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn
吐槽下官方这个在线控制台贼慢.....还是自己下载在自己机器上跑吧
使用:
解压以后直接运行即可, 无需配置 , 和普通的jar包一样
java -jar arthas-boot.jar
如果有可以挂载的java对象, 会列举出来, 然后直接输入数字回车即可
下载 arthas 解压后里面有个arthas-demo.jar, 会循环输出数字, 可以用来作为演示demo
运行成功会如下图所示
[图片上传失败...(image-71ef00-1607773749818)]
然后就可以输入arthas命令了
基础命令
help — — 查看命令帮助信息
cls — — 清空当前屏幕区域
session — — 查看当前会话的信息
reset — — 重置增强类,将被 Arthas 增强过的类全部还原,Arthas 服务端关闭时会重置所有增强过的类
version — — 输出当前目标 Java 进程所加载的 Arthas 版本号
history — — 打印命令历史
quit — — 退出当前 Arthas 客户端,其他 Arthas 客户端不受影响
stop — — 关闭 Arthas 服务端,所有 Arthas 客户端全部退出
keymap — — Arthas快捷键列表及自定义快捷键
cat — — 打印文件内容,和linux里的cat命令类似
echo — — 打印参数,和linux里的echo命令类似
grep — — 匹配查找,和linux里的grep命令类似
tee — — 复制标准输入到标准输出和指定的文件,和linux里的tee命令类似
pwd — — 返回当前的工作目录,和linux命令类似
plaintext — — 将命令的结果去除ANSI颜色
wc — — 按行统计输出结果
options — — 查看或设置Arthas全局开关
系统命令有 :
dashboard — — 当前系统的实时数据面板
thread — — 查看当前 JVM 的线程堆栈信息
jvm — — 查看当前 JVM 的信息
sysprop — — 查看和修改JVM的系统属性
sysenv — — 查看JVM的环境变量
vmoption — — 查看和修改JVM里诊断相关的option
perfcounter — — 查看当前 JVM 的Perf Counter信息
logger — — 查看和修改logger
getstatic — — 查看类的静态属性
ognl — — 执行ognl表达式
mbean — — 查看 Mbean 的信息
heapdump — — dump java heap, 类似jmap命令的heap dump功能(线上环境一般不使用, dump会造成STW而且数据过大影响磁盘, 下载需要宽带)
类命令 :
sc — — 查看JVM已加载的类信息
sm — — 查看已加载类的方法信息
jad — — 反编译指定已加载类的源码
mc — — 内存编译器,内存编译.java文件为.class文件
redefine — — 加载外部的.class文件,redefine到JVM里
dump — — dump 已加载类的 byte code 到特定目录
classloader — — 查看classloader的继承树,urls,类加载信息,使用classloader去getResource
增强命令
monitor — — 方法执行监控
watch — — 方法执行数据观测
trace — — 方法内部调用路径,并输出方法路径上的每个节点上耗时
stack — — 输出当前方法被调用的调用路径
tt — — 方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测
profiler — — 使用async-profiler对应用采样,生成火焰图