Resources
3Install
npx skillscat add alibaba/arthas/arthas Install via the SkillsCat registry.
SKILL.md
Arthas 诊断 Skill
Overview
Arthas 是 Java 应用在线诊断工具,本 Skill 包含多个子场景的诊断指南。使用时请根据用户描述的问题匹配对应场景,按指南中的步骤逐步排查。
通用原则:
- 先用低风险、只读的命令收集信息,再按需使用有侵入性的命令。
- 所有
watch/trace/tt/stack等命令必须设置-n(执行次数限制),避免对线上应用造成压力。 - 输出结论时附上关键证据(命令输出摘要),并给出明确的下一步建议。
子场景索引
1. CPU 飙高排查
文件: cpu-high/SKILL.md
适用场景:机器 CPU 飙高、应用响应变慢、负载异常升高。
核心步骤:
dashboard查看 CPU / 线程 / GC 概况thread(topN)定位最忙线程及堆栈- 根据堆栈判断方向(CPU 密集计算 / 锁竞争 / GC 等)
- 按需用
stack/trace/watch进一步确认热点方法调用路径 - 输出诊断结论(现象、证据、初步结论、下一步建议)
2. 获取 EagleEye traceId
文件: eagleeye-traceid/SKILL.md
适用场景:需要在不改代码的情况下,获取线上请求的 EagleEye traceId,用于关联日志 / 链路分析。
核心步骤:
sc -d com.taobao.eagleeye.EagleEye确认类存在- 选择合适的观察点(Controller / RPC Provider / Filter 等入口方法)
- 方案 A:
watch+ OGNL 表达式@com.taobao.eagleeye.EagleEye@getTraceId()直接打印 traceId - 方案 B:
trace输出中自动带出 traceId,同时可看调用链耗时 - 拿到 traceId 后去日志 / 链路系统查询对应请求
3. Spring Context / Bean 排查
文件: spring-context/SKILL.md
适用场景:排查 Spring ApplicationContext / Bean / 配置注入等问题。
核心步骤:
vmtool --action getInstances获取AbstractApplicationContext实例(注意通过 ClassLoader 区分正确的 Context)- 获取配置项的值与来源(
getEnvironment().getProperty(...)/findConfigurationProperty(...)) containsBean/containsLocalBean/containsBeanDefinition验证 Bean 是否存在(不触发初始化)- 按关键词过滤搜索 Bean(
getBeanDefinitionNames+ OGNL 过滤) - 按类型查找 Bean(
getBeanNamesForType/getBeansOfType) - 查看 BeanDefinition 确认 Bean 注册来源(
@Bean工厂方法 / XML / 自动扫描)
注意: 先只读查询,避免直接 getBean() 触发 Bean 初始化产生副作用;若遇到 ClassNotFound,通常是类加载器不对,需先用 classloader 命令找到正确的 classLoaderHash。