Skip to main content

arthas-cpu-high

排查 JVM / 应用 CPU 飙高(线程定位 + 代码路径分析)

ソース情報

リポジトリ
alibaba/arthas
ソースの最終更新活動
2026年3月9日 06:14
検出された SKILL.md の言語
中国語
スター
37,583
フォーク
7,641

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
arthas-cpu-high
description
排查 JVM / 应用 CPU 飙高(线程定位 + 代码路径分析)
# JVM CPU 飙高排查指南(Arthas) 适用场景:机器 CPU 飙高、应用响应变慢、负载异常升高。 原则:先用低风险工具定位「哪个线程在忙」,再逐步缩小到「哪个方法/代码路径」。 ## 1) 先确认当前 JVM 整体状态(低风险) - 使用 `dashboard` 查看 CPU/线程/GC 概况(建议设置有限次数): - 关注:CPU、线程数、GC 次数/耗时是否异常。 ## 2) 定位最忙线程(关键步骤) - 使用 `thread` 找出最忙的前 N 个线程并打印堆栈: - 例如:`topN=3` 或 `topN=5` - 记录每个热点线程的 `threadId` 与堆栈关键方法名(可用 `take_notes` 记录证据)。 判断方向: - 如果堆栈显示在 `java.util.regex`、JSON 序列化、日志格式化等:可能是 CPU 密集计算。 - 如果堆栈显示在锁竞争:继续看是否有大量 `BLOCKED`,并考虑用 `thread(blocking=true)` 找出阻塞源头线程。 ## 3) 进一步确认热点方法的调用路径(按需、有限制) 当热点线程堆栈指向某个「可疑方法」时: - 优先使用 `stack` / `trace` 针对该方法做路径确认(避免宽泛匹配)。 - 如果需要观测入参/返回值,再考虑 `watch` 或 `tt`,并设置合理的执行次数与超时,避免对线上造成压力。 ## 4) 输出诊断结论 报告至少包含: - 现象与证据:dashboard 摘要 + topN 线程堆栈关键片段 - 初步结论:CPU 主要消耗在什么类型的逻辑(计算/锁/GC/日志等) - 下一步:建议进一步 trace/watch 的目标方法(给出类名+方法名的精确范围),或建议用户提供主包名/关键接口信息以继续收敛
GitHubで見る