关于 161-java-profiling-detect
用于 Java 应用性能检测的技能,借助预装且可信的 async-profiler 收集 CPU、内存、锁、GC 和 I/O 数据,并生成带时间戳的火焰图与 JFR 输出。
主要功能
- 01使用预装的 async-profiler
- 02检测 CPU、内存、锁、GC 和 I/O
- 03创建并运行配置脚本
- 04生成火焰图和 JFR 文件
适用场景
- 01收集 Java 应用的性能数据
- 02分析锁竞争或 GC 问题
- 03为后续性能分析生成火焰图与 JFR
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jabrena/ plinth --skill 161-java-profiling-detect安装后在 Claude Code 中输入/161-java-profiling-detect确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/161-java-profiling-detect.mdscripts/run-java-process-for-profiling.shprofile-java-process.sh详细介绍
Java 性能分析工作流 / 步骤 1 / 收集数据以衡量潜在问题
使用可信且预先安装的 async-profiler v4.x、以问题为导向的交互式性能分析脚本,以及全面的数据收集,设置 Java 性能分析检测阶段,以检查 CPU 热点、内存泄漏、锁竞争、GC 问题和 I/O 瓶颈。使用 JEP 518(协作式采样)和 JEP 520(方法计时)来降低开销。
此技能涵盖哪些内容?
- 使用性能分析 JVM 标志运行应用程序(run-java-process-for-profiling.sh)
- 交互式性能分析脚本(profiler/scripts/profile-java-process.sh)——复制准确的模板
- 目录结构:profiler/scripts/、profiler/results/、profiler/current/
- 自动检测操作系统和架构,并验证可信的预安装 async-profiler
- CPU、内存、锁、GC、I/O 性能分析模式
- 输出火焰图和 JFR,并为结果添加时间戳
范围: 原样使用确切的 bash 脚本模板,不得修改或解读。
约束
请准确复制 bash 脚本模板。确保应用 JVM 标志以保证性能分析兼容性。连接性能分析器前,确认 Java 进程正在运行。
- 关键要求:准确复制 bash 脚本模板——不得修改、解读或增强
- 设置:创建性能分析目录结构:profiler/scripts、profiler/results
- 供应链:运行时不得下载性能分析器二进制文件;必须要求
ASYNC_PROFILER_HOME或profiler/current指向可信的预安装 async-profiler 发行版 - 可执行文件:使用 chmod +x 将脚本设为可执行
- 开始操作前:阅读参考文档,了解准确的脚本模板和设置说明
- 边缘情况:如果请求范围不明确,请停止并先提出澄清问题
- 边缘情况:如果缺少必需的输入、文件或工具,请说明缺少哪些内容,并询问是否继续提供设置指南
何时使用此技能
- 使用性能分析改进代码
- 应用性能分析
- 使用性能分析重构代码
- 添加性能分析支持
- 收集 JFR 或 async-profiler 数据以分析 Java 性能
工作流
- 阅读性能分析设置参考文档
阅读 references/161-java-profiling-detect.md,并严格按照其中提供的脚本模板操作。
- 创建性能分析工作区和脚本
创建 profiler/scripts 和 profiler/results,逐字复制设置脚本和性能分析脚本,并将脚本设为可执行。
- 以兼容性能分析的方式运行应用程序
使用必需的性能分析 JVM 标志启动 Java 进程,并确认目标进程可供性能分析器连接。
- 收集性能分析产物
采集 CPU、内存、锁、GC、I/O 数据,并生成带时间戳的火焰图和 JFR 输出以供分析。
参考
详细指南、示例和约束,请参阅 references/161-java-profiling-detect.md。
评论
支持 Markdown