当前位置: 首页 > news >正文

阿里开源线上诊断工具Arthas,适合生产环境故障排查

Arthas 是阿里开源的线上诊断工具,尤其适合生产环境下的动态监控、问题排查,无需重启服务,对业务侵入性极低。下面整理了一批高频实用的 Arthas 命令及实际用法,直接解决 “线程阻塞、GC 异常、方法耗时、依赖冲突” 等问题。

在这里插入图片描述

一、部署环境:

Spring Boot 3 + JDK17 + K8s

二、下载arthas (-O是将远端文件保存到本地)

curl -O https://arthas.aliyun.com/arthas-boot.jar

将文件下载到宿主机后,然后cp到k8s Pod容器中:

# 复制 Arthas 到 Pod 的指定容器
kubectl cp arthas-boot.jar myapp-pod-xyz:/tmp/arthas-boot.jar -c myapp-container

三、Arthas启动

# 启动并选择进程(Spring Boot 进程 PID 通常为 1)
java -jar arthas-boot.jar 1

四、线程问题排查(核心场景)

1. 快速定位 “死锁或阻塞线程”

命令:thread -b

作用:立即找出 “阻塞其他线程的根源线程”(通常是死锁或长期持有锁的线程)。

场景:服务调用超时、无响应时,先执行此命令,10 秒内定位是否有死锁或阻塞。

2. 监控高 CPU 线程

命令:thread -n 3
作用:显示 CPU 使用率最高的前 3 个线程,每 3 秒刷新一次。
场景:服务 CPU 飙升时,查看是否有线程死循环(如日志格式处理逻辑异常)。
示例:若某线程长期占用 90%+ CPU,执行 thread <线程ID> 查看其调用栈。
在这里插入图片描述

3. 按状态筛选线程

命令:thread --state BLOCKED
作用:只显示处于 BLOCKED 状态的线程,实时刷新。
场景:监控阻塞线程数量是否随时间增加(如日志写入锁竞争加剧)
在这里插入图片描述

4. 线程状态趋势统计

命令:thread -i 2000
作用:每 2000 毫秒(2 秒)打印一次线程状态汇总(总线程数、各状态数量)。
场景:观察 “等待线程数” 是否激增(可能是线程池队列满)。
在这里插入图片描述

5.JVM 状态实时监控面板

命令:dashboard
作用:实时展示 JVM 核心指标(CPU、内存、线程、GC),每 5 秒刷新一次。
重点关注:
内存区:老年代(OLD)是否持续增长(内存泄漏信号)。
GC 区:Full GC 次数是否频繁(如 1 分钟多次)。
线程区:Runnable/BLOCKED/WAITING 线程数变化
在这里插入图片描述
Arthas的功能其实非常多,可以通过help查看所有命令。Arthas对代码入侵为0,对生产环境故障的排查非常有帮助,上面只是罗列了一些常用的命令,但对于命令回显的详细解释需要更进一步的学习,我想对于我们Java程序员,除了要会写代码,还要具备故障排查等复杂问题处理能力。
在这里插入图片描述

http://www.dtcms.com/a/565373.html

相关文章:

  • AI大模型架构设计与优化
  • 【论文精读】迈向更好的指标:从T2VScore看文本到视频生成的新评测范式
  • 无锡建设工程质量监督网站做i爱小说网站
  • java变量解读
  • 优化排名推广教程网站建筑设计公司资质
  • 基于Springboot的旧物公益捐赠管理系统3726v22v(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
  • Spring Boot + EasyExcel 枚举转换器:通用方案 vs 专用方案对比
  • 基于AWS服务的客户服务电话情感分析解决方案
  • 盲盒抽赏小程序一番赏玩法拓展:从模仿到创新的商业化落地
  • wordpress建淘宝客网站监理工程师查询系统入口
  • vps 建网站ip地址反查域名
  • 下载和导入原理图符号和封装
  • VinePPO:基于蒙特卡洛采样的无偏 credit assignment 进行价值估计,提升大模型推理能力
  • 静态化GTFOBins 本地部置教程
  • 自建网站公司ip子域名二级域名解析
  • 搭建出属于你自己的精彩网站!
  • 3DXML 转 3DXML 实操手册:从本地软件处理到在线工具推荐(含迪威模型网教程)
  • git小乌龟如何单个文件回退及整个版本回退
  • 班级同学录网站建设iis网站301重定向
  • 高性能负载均衡器HAProxy全解析
  • 《投资-151》PEG指标,衡量股票估值是否合理、特别是评估成长股的一个关键工具。
  • 广东省省考备考(第一百四十天11.3)——言语、判断推理(强化训练)
  • leetcode前缀和(C++)
  • 冬创网站建设培训中心高端网站建设公司有哪些
  • java面试:有了解过RocketMq架构么?详细讲解一下
  • JAVA国际版同城打车源码同城服务线下结账系统源码适配PAD支持Android+IOS+H5
  • Milvus:数据字段-主字段和自动识别(五)
  • 【深入浅出PyTorch】--8.1.PyTorch生态--torchvision
  • Blender新手入门,超详细!!!
  • Milvus:数据库层操作详解(二)