Arthas
2021-04-05 17:59:21 1 举报
AI智能生成
登录查看完整内容
Arthas 使用,线上debug
作者其他创作
大纲/内容
Arthas
官网
https://arthas.aliyun.com/doc
用途
1、Jvm
2、线上 debug
3、全局视角来查看系统
4、快速定位应用的热点,生成火焰图
启动
jar启动
java - jar arthas-boot.jar
docker启动
第一次启动
查看docker容器的workdir(Path):docker inspect
启动(下载 -c 复制到容器内启动):docker exec -it 容器id Path -c \"wget https://arthas.aliyun.com/arthas-boot.jar && java -jar arthas-boot.jar
后续启动
进入容器:docker exec -it 容器id Path
启动:java - jar arthas-boot.jar
常用命令
1、dashboard :当前系统实时数据面板
参数
-i:刷新实时数据的时间间隔 (ms),默认5000ms
-n:刷新实时数据的次数
截图
2、thread:查看当前线程信息,查看线程的堆栈
id:指定线程
-n:指定最忙的前N个线程并打印堆栈
-b:找出当前阻塞其他线程的线程
-i:列出指定ms内最忙的3个线程栈,默认200ms
–state:查看线程的状态
3:jvm
THREAD相关COUNT: JVM当前活跃的线程数DAEMON-COUNT: JVM当前活跃的守护线程数PEAK-COUNT: 从JVM启动开始曾经活着的最大线程数STARTED-COUNT: 从JVM启动开始总共启动过的线程次数DEADLOCK-COUNT: JVM当前死锁的线程数
文件描述符相关MAX-FILE-DESCRIPTOR-COUNT:JVM进程最大可以打开的文件描述符数OPEN-FILE-DESCRIPTOR-COUNT:JVM当前打开的文件描述符数
4、sysenv:查看当前JVM的环境属性
5、vmoption:查看,更新VM诊断相关的参数
查看
vmoption:查看所有诊断参数
vmoption key :查看具体参数值
更新
vmoption key value
6、jad:反编译原代码(例:jad java.lang.String)
7、monitor:多维度监控类、方法的调用(https://arthas.aliyun.com/doc/monitor.html)
8、watch(https://arthas.aliyun.com/doc/watch.html):
观察:返回值、抛出异常、入参,通过编写 \bOGNL 表达式进行对应变量的查看
线上问题排查
1、方法报错(线上dubug)
通过watch观察方法
2、cpu过高
第一步:thread -n 3:查看使用率最高的线程
第二部:thread id:查看该线程具体调用的方法
第三步:jad 类全路径:反编译源码
第四步:watch 类全路径 类方法:查看入参、出参、异常等情况
0 条评论
回复 删除
下一页