mcpField
1
161-java-profiling-detect

161-java-profiling-detect

github.com/jabrena开发456341 次安装1 天前更新
代码仓库

关于 161-java-profiling-detect

用于 Java 应用性能检测的技能,借助预装且可信的 async-profiler 收集 CPU、内存、锁、GC 和 I/O 数据,并生成带时间戳的火焰图与 JFR 输出。

主要功能

  1. 01使用预装的 async-profiler
  2. 02检测 CPU、内存、锁、GC 和 I/O
  3. 03创建并运行配置脚本
  4. 04生成火焰图和 JFR 文件

适用场景

  1. 01收集 Java 应用的性能数据
  2. 02分析锁竞争或 GC 问题
  3. 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.md
scripts/
run-java-process-for-profiling.sh
profile-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 性能

工作流

  1. 阅读性能分析设置参考文档

阅读 references/161-java-profiling-detect.md,并严格按照其中提供的脚本模板操作。

  1. 创建性能分析工作区和脚本

创建 profiler/scripts 和 profiler/results,逐字复制设置脚本和性能分析脚本,并将脚本设为可执行。

  1. 以兼容性能分析的方式运行应用程序

使用必需的性能分析 JVM 标志启动 Java 进程,并确认目标进程可供性能分析器连接。

  1. 收集性能分析产物

采集 CPU、内存、锁、GC、I/O 数据,并生成带时间戳的火焰图和 JFR 输出以供分析。

参考

详细指南、示例和约束,请参阅 references/161-java-profiling-detect.md。

评论

支持 Markdown