一、Arthas的安转和使用
二、相关命令使用
1、dump 命令
A、作用:dump 已加载类的 bytecode 到特定目录
B、参数说明
C、使用:
2、monitor 命令
A、作用:方法执行监控
B、参数说明
C、使用
3、watch 命令
A、作用:让你能方便的观察到指定函数的调用情况。能观察到的范围为:返回值、抛出异常、入参,通过编写 OGNL 表达式进行对应变量的查看。
B、参数说明
watch 的参数比较多,主要是因为它能在 4 个不同的场景观察对象
C、使用
4、trace 命令
A、作用:trace 命令能主动搜索 class-pattern/method-pattern 对应的方法调用路径,渲染和统计整个调用链路上的所有性能开销和追踪调用链路。
B、参数说明
C、使用(马赛克注释为项目包名路径,此处保密)
D、注意事项
trace 能方便的帮助你定位和发现因 RT 高而导致的性能问题缺陷,但其每次只能跟踪一级方法的调用链路
5、stack 命令
A、作用:输出当前方法被调用的调用路径,很多时候我们都知道一个方法被执行,但这个方法被执行的路径非常多,或者你根本就不知道这个方法是从那里被执行了,此时你需要的是 stack 命令
B、参数说明
C、使用
6、tt 命令
A、作用:方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测
watch 虽然很方便和灵活,但需要提前想清楚观察表达式的拼写,这对排查问题而言要求太高,因为很多时候我们并不清楚问题出自于何方,只能靠蛛丝马迹进行猜测。
B、参数说明
C、使用
7、补充知识点:
A、 Arhtas idea plugin 使用手册: https://www.yuque.com/arthas-idea-plugin/help
B、 一图全面了解Arhtas :
C、 gc分析工具: https://gceasy.io/