Arthas性能检测工具的使用
2022-02-22
Arthas介绍
Arhtas是阿里巴巴开源的java调式工具, 应用诊断工具,性能分析工具
什么时候要使用到Arthas
- 线上问题无法在本地调式,获取入参和返回参数
- 接口性能优化
- 检测问题出现的原因
- 检测整个应用的运行情况
Arthas的常用的几个命令
1. dashboard
dashboard是一个性能监视面板,其中包括了线程,jvm内存信息,运行环境,默认每隔500毫秒会自动刷新 如下图,
- 启动命令
dashboard
- dashboard中的命令参数
-h # 查看全部参数介绍以及使用方法
-n # 后面跟着数字,代表刷新几次例如 dashboard -n 5 就是刷新5次
-i # 刷新的时间间隔,单位为毫秒 dashboard -i 1000 就代表一秒
2. trace
trace渲染和统计整个调用链路上的所有性能开销和追踪调用链路,只能针对某个方法,可以进行对接口耗时的监控,并且可以查看时那行报的错,如图
- trace命令使用
trace class method # trace 类路径 方法名 如 trace java.util.List add
- trace命令常用参数
-h # 查看全部参数介绍以及使用方法
-n # 表示监听几次
-E # 使用正则表达式匹配类和路径
3. watch
watch 可以查看入参,返回参数,包括异常信息
- watch命令使用
watch 类名 方法名 '{params,returnObj,throwExp}'
# 例如 watch java.util.List add '{params,returnObj,throwExp}'
- watch常用参数
-h # 查看全部参数介绍以及使用方法
-n # 表示监听几次
-x # 表示返回参数和入参可以被解析到几层,需要根据情况进行设置
-E # 正则匹配类名方法名
4. thread
thread查看java程序的应用线程堆栈信息
- 使用命令
thread # 打印信息线程列表
- 常用参数
-all # 打印全部线程堆栈
-n # 根据cpu信息进行降序 后面跟着数字表示打印前几条例如 thread -n 10 就打印前10条cpu占用高的线程
-b # 找出阻塞的线程
id #线程id,线程列表上面第一个列就是线程id,可以查看线程的详细信息
- thrad 线程id 展示
arthas安装以及其他使用参考官方文档
arthas官方文档:https://arthas.aliyun.com/doc/