Arthas 简介
Arthas 是阿里巴巴开源的一款 Java 诊断工具,专为线上问题排查设计。它可以帮助开发者在不重启应用的情况下,实时查看 JVM 状态、类加载信息、方法调用参数与返回值、排查性能瓶颈等,是解决线上 Java 应用问题的利器。
主要功能包括:
- 查看 JVM 内存、线程、GC 等实时状态
- 反编译类文件,查看当前加载的代码
- 监控方法执行耗时,定位性能问题
- 查看方法调用参数和返回值
- 动态修改日志级别
- 排查类加载冲突等问题
安装与使用方法
1. 安装 Arthas
Arthas 支持 Linux、macOS、Windows 系统,安装方式简单:
通过 curl 安装(推荐 Linux/macOS):
curl -O https://arthas.aliyun.com/arthas-boot.jar
通过 wget 安装:
wget https://arthas.aliyun.com/arthas-boot.jar
Windows 系统:
直接访问 Arthas 官网 下载 arthas-boot.jar 文件
2. 启动 Arthas
Arthas 需要附着到一个正在运行的 Java 进程上,启动命令:
java -jar arthas-boot.jar
执行后会列出当前机器上所有的 Java 进程,输入对应的编号(如 1)并回车,即可附着到目标进程。
如果是远程服务器,可通过 telnet 或 ssh 连接:
# 启动时指定 IP 和端口
java -jar arthas-boot.jar --target-ip 0.0.0.0 --telnet-port 3658 --http-port 8563
3. 常用命令示例
-
查看进程基本信息:
dashboard # 实时显示 JVM 仪表盘,按 q 退出 -
查看线程状态:
thread # 显示所有线程状态 thread 10 # 查看 ID 为 10 的线程详情 thread -n 3 # 显示最忙的 3 个线程 -
反编译类:
jad com.example.demo.Controller # 反编译指定类 -
监控方法执行:
# 监控方法调用次数、耗时等 monitor -c 5 com.example.demo.Service getUser # 每 5 秒统计一次 -
查看方法参数和返回值:
watch com.example.demo.Service getUser "{params, returnObj}" -x 2 -
退出 Arthas:
quit # 退出当前会话,不影响目标进程 stop # 完全停止 Arthas 服务
4. 可视化界面(可选)
Arthas 提供 Web 控制台,启动时指定 http 端口后,可通过浏览器访问:
http://localhost:8563 # 替换为实际 IP 和端口
界面操作更直观,支持命令自动补全,适合新手使用。
注意事项
- Arthas 对目标应用性能影响极小,可放心在生产环境使用
- 部分命令(如
redefine)可能影响应用稳定性,生产环境谨慎操作 - 若应用使用了安全管理器(SecurityManager),可能需要额外配置权限
更多详细用法可参考 Arthas 官方文档。
1142

被折叠的 条评论
为什么被折叠?



