Arthas全面使用指南:离线安装+Docker/K8s集成+集中管理
👉 这是一个或许对你有用的社群
🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料:
《项目实战(视频)》:从书中学,往事中“练”
《互联网高频面试题》:面朝简历学习,春暖花开
《架构 x 系统设计》:摧枯拉朽,掌控面试高频场景题
《精进 Java 学习指南》:系统学习,互联网主流技术栈
《必读 Java 源码专栏》:知其然,知其所以然

👉这是一个或许对你有用的开源项目
国产Star破10w的开源项目,前端包括管理后台、微信小程序,后端支持单体、微服务架构
RBAC权限、数据权限、SaaS多租户、商城、支付、工作流、大屏报表、ERP、CRM、AI大模型、IoT物联网等功能:
多模块:https://gitee.com/zhijiantianya/ruoyi-vue-pro
微服务:https://gitee.com/zhijiantianya/yudao-cloud
视频教程:https://doc.iocoder.cn
【国内首批】支持 JDK17/21+SpringBoot3、JDK8/11+Spring Boot2双版本
来源:blog.csdn.net/longzhutengyue
Arthas(阿尔萨斯)——Java 应用的线上诊断“瑞士军刀”
一、什么是 Arthas?
Arthas 是阿里巴巴开源的一款 Java 线上诊断工具,能够在不重启、不修改代码的情况下,实时监控和诊断生产环境中的 Java 应用。
它能帮你解决这些问题:
这个类是从哪个 jar 包加载的?为什么报
ClassNotFoundException?我改的代码怎么没生效?是不是分支错了?
线上某个用户请求出错,但无法 debug,日志也不够?
接口响应慢,到底哪里卡住了?
如何查看 JVM 实时内存、线程、GC 状态?
如何生成火焰图定位性能热点?
怎样从 JVM 内部直接调用方法或获取对象实例?
✅ Arthas 支持 JDK 8+(推荐),支持
Linux/Mac/Windows,采用命令行交互,Tab 补全强大,诊断效率极高。
基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
项目地址:https://github.com/YunaiV/ruoyi-vue-pro
视频教程:https://doc.iocoder.cn/video/
二、离线安装 Arthas(推荐生产环境使用)
由于生产环境通常禁止外网访问,推荐使用离线方式安装 Arthas。
官方文档:https://arthas.aliyun.com/doc/
步骤 1:下载arthas全量包
下载arthas全量包、安装
浏览器输入网址下载:
https://github.com/alibaba/arthas/releases/download/arthas-all-4.0.5/arthas-bin.zip
或者进入github 地址手动下载
https://github.com/alibaba/arthas/releases
建议使用 v4.0.5 或更高版本(功能更全,支持 pm 命令等)。
步骤 2:将全量压缩包拷贝到目标服务器
scp arthas-bin.zip user@your-server:/opt/arthas/
步骤 3:启动 Arthas 并 attach 到目标 Java 进程
cd /opt/arthas/
unzip arthas-bin.zip
java -jar /opt/arthas/arthas-boot.jar
会列出当前服务器上的 Java 进程,输入对应编号即可 attach。
[INFO] Found existing java process, please choose one:
* [1]: 12345 demo.jar
[2]: 67890 app.jar
1
[INFO] Attach success.
[arthas@12345]$
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
项目地址:https://github.com/YunaiV/yudao-cloud
视频教程:https://doc.iocoder.cn/video/
三、Docker 容器化集成 Arthas(Dockerfile 方式)
将 Arthas 预装进镜像,确保每个容器都具备诊断能力。
目录结构建议
your-project/
├── Dockerfile
├── pom.xml
├── src/
│ └── ...
└── arthas/
├── arthas-agent.jar
├── arthas-bin.zip
├── arthas-boot.jar
├── arthas-client.jar
├── arthas-core.jar
├── arthas.properties
├── arthas-spy.jar
├── as.bat
├── as-service.bat
├── as.sh
├── async-profiler/
├── install-local.sh
├── lib/
├── logback.xml
└── math-game.jar
Dockerfile 示例
FROM openjdk:8-jdk-alpine
# 创建 arthas 目录
RUN mkdir -p /opt/arthas
# 复制离线 arthas 包
COPY ./arthas /opt/arthas/
# 复制应用 jar
COPY target/your-app.jar /app.jar
# 启动脚本:先启动应用,再 attach arthas(可选自动连接 tunnel)
CMD java -jar /app.jar & \
sleep 15 && \
java -jar /opt/arthas/arthas-boot.jar --tunnel-server 'ws://tunnel-server:7777/ws' --app-name myapp --telnet-port 3658 --http-port 8563
sleep 15 确保应用完全启动后再 attach。
四、Kubernetes(K8s)环境集成 Arthas
方案 1:使用 arthas-k8s 工具(推荐)
helm repo add arthas https://alibaba.github.io/arthas
helm install arthas arthas/arthas-k8s
一键 attach:
arthas-k8s attach myapp-0
方案 2:在 Deployment 中预装 Arthas
apiVersion: apps/v1
kind:Deployment
metadata:
name:myapp
spec:
replicas:3
template:
spec:
containers:
-name:app
image:myapp:latest
command: ["/bin/sh"]
args:
-"-c"
- |
java -jar /app.jar &
sleep 15
java -jar /opt/arthas/arthas-boot.jar --tunnel-server 'ws://tunnel-server:7777/ws' --app-name myapp
五、多机/多 Pod 集中管理:Arthas Tunnel(推荐)
架构图(Mermaid)
优势
统一入口,无需 SSH
支持多租户、权限控制
可记录诊断会话,便于审计
六、常用命令速查表(Arthas 快速上手)——实战扩展版
七、最佳实践建议
八、总结
Arthas 是每个 Java 工程师都应掌握的“线上救命工具”。
结合 离线安装 + Docker/K8s 集成 + arthas-tunnel,你将拥有:
随时可诊断、全局可监控、问题秒定位 的强大能力!
立即行动建议:
下载
arthas-boot.jar放入项目根目录修改
Dockerfile预装 Arthas部署
arthas-tunnel-server,实现集中管理
从此,告别“重启加日志”,拥抱“实时诊断”新时代!
欢迎加入我的知识星球,全面提升技术能力。
👉 加入方式,“长按”或“扫描”下方二维码噢:

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。





文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
更多推荐



所有评论(0)