Arthas教程
创始人
2024-01-28 23:19:23

Linux环境安装

下载地址:https://alibaba.github.io/arthas/arthas-boot.jar

java -jar arthas-boot.jar   运行
quit   退出
stop  停止

Arthas快速入门

一.执行一个jar包
二.通过arthas来attach(黏附)
三.常用命令操作

诊断demo下载https://alibaba.github.io/arthas/arthas-demo.jar

1.启动demo的jar
java -jar arthas-demo.jar
2.启动arthas
java -jar arthas-boot.jar

Arthas命令

1.dashboard仪表板

dashboard

在这里插入图片描述

q 退出命令

2.通过thread命令来获取arthas-demo进程的Main Class

thread 命令

在这里插入图片描述

thread 1 查看ID为1的线程详细情况

在这里插入图片描述
3.通过jad来反编译Main Class

jad demo.MathGame  反编译包名.类名

在这里插入图片描述
4.watch监视(通过watch命令来查看函数的返回值)

watch demo.MathGame primeFactors returnObj   watch 包名.类名

在这里插入图片描述

q 退出

5.退出arthas命令

stop 完全退出命令,结束会话

基础命令之一

1.help
2.cat 打印文件内容
3.grep 匹配查找
4.pwd 返回当前的工作目录,和linux命令类似
5.cls 清空当前屏幕区域

sysprop | grep java -n 显示带java的行号
sysprop | grep java -m 10 显示带行号的前10行

基础命令之二

1.session 显示java进程pid,session_id 为会话id
在这里插入图片描述
2.reset 重置增强类,将被Arthas增强过的类全部还原,Arthas服务端关闭时会重置所有增强过的类
3.version 输出当前java进程所加载的Arthas版本号
4.history 列出执行过的命令
5.quit 退出当前Arthas客户端,不影响其他会话
6.stop 关闭Arthas,所有会话全部退出
7.keymap 显示快捷键

jvm相关命令

1.dashboard
仪表板 按q退出

2.thread

thread tid  显示某个id线程的信息
thread -n 3  显示最忙的3个线程并打印堆栈信息
thread -b 处于阻塞状态的线程
thread -i 1000 -n 3 每隔1000毫秒显示前3个最繁忙的线程
thread --state WAITING  查看所有处于等待的线程

3.jvm

jvm

thread相关
COUNT:JVM当前活跃的线程数
DAEMON-COUNT:JVM当前活跃的守护线程数
PEAK-COUNT:从jvm启动开始曾经活着的最大线程数
STARTED-COUNT:从jvm启动开始总共启动过的线程次数
DEADLOCK-COUNT:jvm当前死锁的线程数

4.sysprop 查看和修改JVM的系统属性

jvm相关命令之二

1.sysenv 查看所有环境变量

sysenv 

2.vmoption 查看jvm虚拟机的参数

vmoption 

在这里插入图片描述

3.getstatic 类名 属性名 查看类的静态属性

getstatic demo.MathGame random     getstatic 类名 属性名      

4.ognl 同getstatic作用,有特定语法

Arthas高阶命令

dump 将已加载的字节码文件保存到特定目录

dump java.lang.String

classloader

classloader  查看所有的类加载器

monitor 监视指定类中方法的执行情况

monitor demo.MathGame primeFactors -c 5   monitor  包名.类名  方法名  每隔5秒

在这里插入图片描述
watch 观察指定方法的调用情况

watch定义了4个观察点,即-b 方法调用前,-e 方法异常后,-s 方法返回后,-f 方法结束后
4个观察事件点-b,-e,-s默认关闭,-f默认打开,在相应事件点会对观察表达式进行求值并输出

watch demo.MathGame primeFactors "{params,returnObj}" -x 2    查看 包名.类名 方法名  "{入参,返回值}"  深度为2

在这里插入图片描述

watch demo.MathGame primeFactors "{params,returnObj}" -x 2 -b    观测方法执行前的入参

在这里插入图片描述

watch demo.MathGame primeFactors "target" -x 2 -b     获取对象的属性

在这里插入图片描述

watch demo.MathGame primeFactors "target.illegalArgumentCount" -x 2 -b    获取对象illegalArgumentCount的属性信息

在这里插入图片描述

watch demo.MathGame primeFactors "{params,target,returnObj}" -x 2 -b -s -n 2   方法前,方法后返回入参,对象,出参信息,执行两次(-n 执行次数)

在这里插入图片描述

watch demo.MathGame primeFactors "{params[0],target}" "params[0]<0"   条件过滤,第一个入参参数小于0的信息

在这里插入图片描述
trace 对方法的内部调用路径,耗时进行输出。OGNL表达式使用。

trace demo.MathGame run -n 2   输出run方法的追踪信息  输出2次

在这里插入图片描述
ts:执行事件
thread_name:线程名称
红色:消耗资源较高的方法

stack 输出当前方法被调用的调用路径

stack demo.MathGame primeFactors    查看primeFactors方法的调用顺序

在这里插入图片描述

stack demo.MathGame primeFactors "params[0]<0" -n 2    查看primeFactors方法的调用顺序,过滤条件第一个参数小于0
stack demo.MathGame primeFactors "#cost>0.5" -n 2     查看primeFactors方法的调用顺序,过滤条件消耗事件大于0.5秒

tt 记录指定方法调用的入参和返回信息

tt -t demo.MathGame primeFactors

在这里插入图片描述

 tt -i 1001   调用1001,返回详细信息

在这里插入图片描述

options 全局选项

profiler 火焰图对CPU进行采样

profiler start  启动命令
profiler list 查看支持的事件
profiler getSamples  获取样本数
profiler stop  停止,会生成样本图
profiler stop  --format html    停止,生成指定格式的火焰图

在这里插入图片描述

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
平遥古城在哪 平遥古城基本现状 城垣恢宏,雉堞连云市井街巷,店肆林立四合院落,青砖瓦屋这里是平遥古城历经千年沧桑而古朴宛然,风姿依旧...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
平遥古城在哪 平遥古城基本现状 城垣恢宏,雉堞连云市井街巷,店肆林立四合院落,青砖瓦屋这里是平遥古城历经千年沧桑而古朴宛然,风姿依旧...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...