介绍
Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。
------------截取arthas官网
安装
外网
运行环境可以访问外网.
wget https://arthas.aliyun.com/arthas-boot.jar
, 其实就是下载下来一个jar包
内网
运行环境访问不到外网.
下载全量包解压即可: https://arthas.aliyun.com/download/latest_version?mirror=aliyun
运行
- 通过
java -jar arthas-boot.jar
运行. 运行之前请确保机器上有正在运行的java项目
通过列表前的数字选择需要监视对应的java项目. 比如: 输入1
->回车
, 命令行提示符变成[arthas@36092]$
即可.
访问
- 授权远程用户, 修改
arthas.properties
文件- 文件位置
- 可以访问外网环境: 在
user home
下.arthas\lib\版本号\arthas
下 - 内网(使用全量包安装): 就在安装包内
- 可以访问外网环境: 在
arthas.ip
(监听地址): 将值127.0.0.1
修改成主机ip地址
或者0.0.0.0
arthas.username
和arthas.password
: 将注释取消, 修改用户名和密码(默认本地连接不需要验证)
- 文件位置
- 命令行访问
- 直接在上一步
运行
成功之后就可以输入指令执行 - 通过
java -jar arthas-client.jar 127.0.0.1 3658
- 直接在上一步
- 浏览器访问: http://127.0.0.1:8563/
- 参考:
指令
只是记录常用的指令和参数(主要是监控或cpu异常时候进行问题定位), 其余较全的指令见[参考]或者系统内执行指令 --h
.
在使用中慢慢补充
退出
- 方法:
exit
/quit
/q
/logout
: 退出当前会话, 不影响其他客户端连接;java -jar arthas-client.jar 127.0.0.1 3658 -c "stop"
: 不连接情况下停止服务.stop
: 完全退出, 关闭arthas服务.
- 参数:
参数名称 示例 参数说明 [i:] dashboard -i 10000 刷新实时数据的时间间隔(ms), 默认5000ms [n:] dashboard -n 2 刷新实时数据的次数 - 官网直达: quit 和 stop
dashboard
- 含义: 查看系统的实时数据面板
- 参数:
参数名称 示例 参数说明 [i:] dashboard -i 10000 刷新实时数据的时间间隔(ms), 默认5000ms [n:] dashboard -n 2 刷新实时数据的次数 - 官网直达: https://arthas.aliyun.com/doc/dashboard.html
thread
- 含义: 查看当前JVM的线程堆栈信息
- 优点: 可以在展示堆栈信息的同时, 带上各个线程的cpu的使用率
- 参数:
参数名称 示例 参数说明 id thread 2 线程 id [n:] thread -n 4 指定最忙的前 N 个线程并打印堆栈 [b] thread -b 找出当前阻塞其他线程的线程 [--all] thread -all 显示所有匹配的线程 - 官网直达: https://arthas.aliyun.com/doc/thread.html
插件
idea中也有对应的插件, 等空闲研究了再写一些值得记录的知识点.