JVM CPU 飙高排查指南(Arthas)

SkillDev tools

This skill lets your AI diagnose high CPU usage in Java applications. When a JVM or app is running hot, your AI can locate the threads consuming the most CPU and trace the code paths causing the spike. That turns a vague performance complaint into a specific answer about what to fix.

Available today. Use it from your connected AI after setup.

Add the skill, then ask your AI to look into a CPU spike in your Java app and it will identify the busy threads and trace the code behind them.

Then ask your AI: use the JVM CPU 飙高排查指南(Arthas) skill

What your AI can do with it

  • Locate the threads consuming the most CPU in a Java application
  • Trace the code paths behind a CPU spike
  • Analyze the JVM to find what is driving high CPU usage
  • Narrow a performance problem down to specific threads and code

What this skill tells your AI

The instructions your AI receives, as published by alibaba/arthas in skills/cpu-high/SKILL.md and read by ahel’s review.

适用场景:机器 CPU 飙高、应用响应变慢、负载异常升高。

原则:先用低风险工具定位「哪个线程在忙」,再逐步缩小到「哪个方法/代码路径」。

1) 先确认当前 JVM 整体状态(低风险)

  • 使用 dashboard 查看 CPU/线程/GC 概况(建议设置有限次数):
    • 关注:CPU、线程数、GC 次数/耗时是否异常。

2) 定位最忙线程(关键步骤)

  • 使用 thread 找出最忙的前 N 个线程并打印堆栈:
    • 例如:topN=3topN=5
  • 记录每个热点线程的 threadId 与堆栈关键方法名(可用 take_notes 记录证据)。

判断方向:

  • 如果堆栈显示在 java.util.regex、JSON 序列化、日志格式化等:可能是 CPU 密集计算。
  • 如果堆栈显示在锁竞争:继续看是否有大量 BLOCKED,并考虑用 thread(blocking=true) 找出阻塞源头线程。

3) 进一步确认热点方法的调用路径(按需、有限制)

当热点线程堆栈指向某个「可疑方法」时:

  • 优先使用 stack / trace 针对该方法做路径确认(避免宽泛匹配)。
  • 如果需要观测入参/返回值,再考虑 watchtt,并设置合理的执行次数与超时,避免对线上造成压力。

4) 输出诊断结论

报告至少包含:

  • 现象与证据:dashboard 摘要 + topN 线程堆栈关键片段
  • 初步结论:CPU 主要消耗在什么类型的逻辑(计算/锁/GC/日志等)
  • 下一步:建议进一步 trace/watch 的目标方法(给出类名+方法名的精确范围),或建议用户提供主包名/关键接口信息以继续收敛

Signals

GitHub stars
38k
Forks
8k
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
arthas-cpu-high
Source
github.com/alibaba/arthas