arthas
Guide for using Arthas to debug live Java applications.
Install
mkdir -p .claude/skills/arthas && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18022" && unzip -o skill.zip -d .claude/skills/arthas && rm skill.zipInstalls to .claude/skills/arthas
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
arthas 诊断 java应用,jvm问题 skillKey capabilities
- →View CPU, thread, and GC overview using `dashboard`
- →Locate busy threads and their stack traces with `thread` (topN)
- →Determine the cause of CPU spikes (CPU-intensive computation, lock contention, GC)
- →Confirm hotspot method call paths using `stack`, `trace`, or `watch`
- →Obtain EagleEye traceId for online requests without code modification
- →Troubleshoot Spring ApplicationContext, Bean, and configuration injection issues
How it works
The skill uses Arthas, a Java application online diagnostic tool, to systematically troubleshoot JVM and Spring issues. It guides through steps like monitoring CPU/threads, tracing method calls, and inspecting Spring context, always prioritizing low-risk commands.
Inputs & outputs
When to use arthas
- →Debug CPU spike issues
- →Analyze thread stacks
- →Inspect Spring Bean configuration
About this skill
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。
When not to use it
- →When using high-risk, intrusive commands without prior information gathering
- →When `watch`, `trace`, `tt`, or `stack` commands are used without `-n` (execution count limit)
- →When directly calling `getBean()` for Spring Beans without prior read-only queries
Limitations
- →All `watch` / `trace` / `tt` / `stack` commands must set `-n` (execution times limit)
- →Prioritize low-risk, read-only commands before intrusive ones
- →Avoid direct `getBean()` calls for Spring Beans to prevent side effects
How it compares
This approach provides a structured, step-by-step diagnostic guide for Java applications using Arthas, offering targeted commands and principles to avoid system impact, unlike ad-hoc debugging or relying solely on logs.
Compared to similar skills
arthas side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| arthas (this skill) | 0 | 4mo | No flags | Advanced |
| langsmith-observability | 4 | 6mo | Review | Intermediate |
| debugging-toolkit-smart-debug | 4 | 3mo | No flags | Intermediate |
| jaeger-analysis | 6 | 5mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by alibaba
View all by alibaba →You might also like
langsmith-observability
davila7
LLM observability platform for tracing, evaluation, and monitoring. Use when debugging LLM applications, evaluating model outputs against datasets, monitoring production systems, or building systematic testing pipelines for AI applications.
debugging-toolkit-smart-debug
sickn33
Use when working with debugging toolkit smart debug
jaeger-analysis
incidentfox
Jaeger distributed tracing analysis. Use when investigating request latency, tracing errors across services, finding slow spans, or understanding service dependencies.
log-analyzer
mikopbx
Анализ логов Docker контейнера для диагностики проблем и мониторинга здоровья системы. Использовать при отладке ошибок, отслеживании процессов воркеров, исследовании проблем API или мониторинге поведения системы после тестов.
gcloud-usage
fcakyon
This skill should be used when user asks about "GCloud logs", "Cloud Logging queries", "Google Cloud metrics", "GCP observability", "trace analysis", or "debugging production issues on GCP".
error-debugging-error-analysis
sickn33
You are an expert error analysis specialist with deep expertise in debugging distributed systems, analyzing production incidents, and implementing comprehensive observability solutions.