阿里工具arthas使用详解

1.SC 查看已加载的类信息

格式 SC class-pattern(可以使用通配符)
SC *TIP* 显示所有包含tip的类信息。

2.sm 查看已加载类的方法信息

格式 sm class-pattern(可以使用通配符)

3.tt 方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测

格式 tt	option	class  method
			-l:显示记录的信息
			-t:记录类的方法的执行过程
			-n num:指定你需要记录的次数
			-i index:查看到index的详细信息
			-s:检索调用信息 
			 	例子:-s 'method.name=="getTipList" '查找方法为getTipList的记录
			-p:重新调用
				--replay-times 指定 调用次数 通过 
				--replay-interval 指定多次调用间隔(单位ms, 默认1000ms)
				例子:tt -i 1004 -p  重新调用 index 为1004的记录
表格字段字段解释
INDEX时间片段记录编号,每一个编号代表着一次调用,后续tt还有很多命令都是基于此编号指定记录操作,非常重要。
TIMESTAMP方法执行的本机时间,记录了这个时间片段所发生的本机时间
COST(ms)方法执行的耗时
IS-RET方法是否以正常返回的形式结束
IS-EXP方法是否以抛异常的形式结束
OBJECT执行对象的hashCode(),注意,曾经有人误认为是对象在JVM中的内存地址,但很遗憾他不是。但他能帮助你简单的标记当前执行方法的类实体
CLASS执行的类名
METHOD执行的方法名

dashboard 当前系统的实时数据面板
字段说明

表格字段字段解释
IDJava级别的线程ID,注意这个ID不能跟jstack中的nativeID一一对应。
NAME线程名
GROUP线程组名
PRIORITY线程优先级, 1~10之间的数字,越大表示优先级越高
STATE线程的状态
CPU%线程消耗的cpu占比,采样100ms,将所有线程在这100ms内的cpu使用量求和,再算出每个线程的cpu使用占比。
TIME线程运行总时间,数据格式为分:秒
INTERRUPTED线程当前的中断位状态
DAEMON是否是daemon线程

4.thread 查看当前线程信息,查看线程的堆栈\

格式:thread 		  option
					  id:查看id的线程信息
					  -n num: 查看最忙的num个线程
					  -b:找出当前阻塞其他线程的线程
					  -i:指定采样时间间隔

5.JVM 查看当前JVM信息

信息:
COUNT: JVM当前活跃的线程数
DAEMON-COUNT: JVM当前活跃的守护线程数
PEAK-COUNT: 从JVM启动开始曾经活着的最大线程数
STARTED-COUNT: 从JVM启动开始总共启动过的线程次数
DEADLOCK-COUNT: JVM当前死锁的线程数
MAX-FILE-DESCRIPTOR-COUNT:JVM进程最大可以打开的文件描述符数
OPEN-FILE-DESCRIPTOR-COUNT:JVM当前打开的文件描述符数

6.mc 内存编译器
7.redefine 加载外部的.class文件,redefine jvm已加载的类

更详细的文章可以参考 https://alibaba.github.io/arthas/quick-start.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值