Token导航 LogoToken导航

Agent Skill · 效率

java-perf-analyzer(Java perf 分析器)

用于辅助 Java 项目开发、面向对象设计、Spring 生态、Maven 或 Gradle 依赖和后端工程实践。它适合让 Agent 分析类结构、设计接口、整理服务分层、生成测试或检查常见代码坏味道。使用时需要结合项目已有架构、包结构和依赖版本,不应只按通用教程改代码;涉及数据库、事务、并发或框架配置时,应先确认运行环境和回归测试范围。

java-perf-analyzer 是效率类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为调用外部服务;许可证为 MIT-0,第三方扫描有提醒项,按安装量在效率类的 21,003 个 Skill 里排第 13,181。

总安装 3,830周安装 158GitHub Stars 公开资料未说明下载 1,251核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.1

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:java-perf-analyzer(Java perf 分析器)
来源仓库:https://github.com/lyl340321/java-perf-analyzer
安装命令:
openclaw skills install java-perf-analyzer
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install java-perf-analyzer

这个 Skill 是做什么的

效率类 Skill 把重复的整理、汇总、转换工作交给助手完成,减少手工复制粘贴。

基于 Arthas 实现远程 JVM 性能诊断与分析。适用于 CPU 飙高、内存泄漏、接口延迟等性能问题排查。支持线程状态、方法调用链及类加载问题的深度追踪。适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。需目标 JVM 环境允许远程连接与安全策略配置。

java-perf-analyzer 属于效率类 Skill,可作为该场景下的辅助能力补充。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install java-perf-analyzer;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要调用外部服务,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

java-perf-analyzer 怎么安装?

在终端执行 openclaw skills install java-perf-analyzer。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

java-perf-analyzer 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

java-perf-analyzer 需要什么权限?

权限级别是调用外部服务。该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

java-perf-analyzer 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

java-perf-analyzer 用的人多吗?

公开数据是累计安装 3,830 次,近一周安装 158 次,下载 1,251 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

java-perf-analyzer 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理效率类任务、又不想每次都手写提示词的人。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

效率类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
github

GitHub 代码协作 · OpenClaw

7,632,918545需要联网MIT-0通过
nano-pdf

Nano PDF 文档 · OpenClaw

4,249,476231需要联网MIT-0通过
auto-updater

自动更新程序 · OpenClaw

2,964,063386操作浏览器MIT-0通过
video-frames

视频帧 · OpenClaw

2,621,304112需要联网MIT-0通过
gemini

Gemini 助手 · OpenClaw

2,547,39648需要联网MIT-0有提醒
java-perf-analyzer

Java perf 分析器 · 本页

3,830—调用外部服务MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
java-perf-analyzer
description
Java 应用性能分析与诊断工具。基于 Arthas + MCP 实现远程 JVM 分析。触发条件:用户描述 Java 应用性能问题或诊断需求,包括:(1) 直接描述问题现象(CPU飙高、内存泄漏/紧张、接口响应慢、线程阻塞/死锁、类加载异常)(2) 请求 JVM 分析、Arthas 排查、性能诊断 (3) 说"帮我排查 xxx 问题"或"分析下 xxx 性能"。触发后先了解问题现象,再针对性收集信息、执行分析。
license
Apache-2.0

Java 性能分析 Skill

基于 Arthas 的远程 JVM 性能分析工具,支持生产环境无侵入诊断。

工作流程(智能对话式)

Phase 1: 了解问题现象

触发后,先了解用户遇到的具体问题,不要急着问参数。

询问模板:

遇到什么问题?
- CPU 飙高?
- 内存紧张/泄漏?
- 接口响应慢?
- 线程阻塞/死锁?
- 类加载异常?

描述一下现象,我来针对性分析。

Phase 2: 问题类型 → 分析策略

根据用户描述的问题,选择对应的分析方法:

问题类型首选分析需要额外信息
CPU 飙高thread -n 5 找忙线程无
内存紧张jvm + memory 查使用率无
内存泄漏heapdump + 离线分析可能需要转储路径
接口慢trace 方法耗时需要源码定位方法
线程阻塞thread --state BLOCKED无
类加载问题sc + jad + classloader类名

Phase 3: 检查已有配置

执行分析前,检查 MEMORY.md 是否已有:

  • SSH 地址、用户名、密码
  • Java 进程名
  • Arthas/MCP 配置状态

有配置 → 直接执行分析 无配置 → 询问缺少的信息(只问必要的)

Phase 4: 收集缺少的信息

只收集 当前分析需要的信息:

信息何时需要示例
SSH 地址无配置时trythis.cn
SSH 用户名无配置时root
SSH 密码无配置时(用户提供)
Java 进程名无配置时chat-editor
源码地址分析慢接口时/root/workspace/project
类名分析类加载问题时UserService

不要一次性问所有信息,按需询问。

Phase 5: 安装/连接 Arthas

首次使用:运行安装脚本

scripts/install-arthas.sh <ssh-host> <ssh-user> <ssh-password> <arthas-dir> <process-name>

已有配置:确认 SSH 隧道和 MCP 连接

# 检查隧道
ps aux | grep "ssh.*8563"

# 测试连接
mcporter call arthas jvm_info

Phase 6: 执行针对性分析

根据 Phase 2 确定的策略,执行对应的分析命令。分析完成后:

  1. 输出诊断报告
  2. 给出优化建议
  3. 如果需要深入分析,询问用户是否继续

根据用户描述的问题,选择合适的分析命令。

如果源码地址已提供

源码可用于:

  1. 定位类和方法:搜索源码找到可疑的类名和方法名
  2. 反编译对比:反编译运行中的类,对比源码看是否有差异
  3. 方法追踪:精确追踪问题方法

示例:

# 先在源码中搜索
grep -r "class UserService" <源码路径>

# 找到类名后追踪
mcporter call arthas method_trace --args '{"classMethod":"com.xxx.UserService#getUser"}'

核心分析命令

JVM 信息

mcporter call arthas jvm_info

输出关键指标:

  • 内存使用(HEAP/METASPACE)
  • GC 统计(次数、时间)
  • 线程状态(活跃、峰值、死锁)
  • 类加载统计

线程分析

# 最忙的 N 个线程
mcporter call arthas thread_info --args '{"threadId":"-n 10"}'

# 按状态筛选
mcporter call arthas arthas_command command='thread --state BLOCKED'

# 线程详情
mcporter call arthas arthas_command command='thread <thread-id>'

内存分析

# 内存概览
mcporter call arthas arthas_command command='memory'

# 堆转储(用于离线分析)
mcporter call arthas arthas_command command='heapdump /path/to/dump.hprof'

# 查看大对象
mcporter call arthas arthas_command command='vmtool --action getInstances --className java.lang.Object --limit 10'

方法追踪

# 追踪方法调用耗时
mcporter call arthas method_trace --args '{"classMethod":"com.example.UserService#getUser"}'

# 监控方法参数和返回值
mcporter call arthas watch_method --args '{"classMethod":"com.example.UserService#getUser"}'

# 高级追踪(带条件)
mcporter call arthas arthas_command command='trace com.example.Service#method "#cost > 100"'

类分析

# 搜索类
mcporter call arthas class_info --args '{"className":"*Service"}'

# 反编译类
mcporter call arthas decompile_class --args '{"className":"com.example.UserService"}'

# 查看类加载器
mcporter call arthas arthas_command command='classloader -t'

CPU 火焰图

# 启动 30 秒采样
mcporter call arthas arthas_command command='profiler start --event cpu --duration 30'

# 停止并生成火焰图
mcporter call arthas arthas_command command='profiler stop --format html'

# 下载火焰图(SSH)
scp <ssh-user>@<ssh-host>:/path/to/arthas-output/*.html ./flamegraph.html

性能诊断流程

场景 1:CPU 飙高

1. thread -n 5           → 找最忙线程
2. thread <id>           → 查线程堆栈
3. trace <method>        → 追踪热点方法
4. profiler start/stop   → 生成火焰图

场景 2:内存紧张

1. jvm                   → 查内存使用率
2. memory                → 查各区域详情
3. heapdump              → 堆转储离线分析
4. vmtool getInstances   → 查大对象

场景 3:响应慢

1. trace <class>#<method> "#cost > 100"  → 找慢方法
2. watch <class>#<method> "{params,returnObj,#cost}"  → 看参数耗时
3. stack <class>#<method>  → 查调用来源

场景 4:类加载问题

1. sc -d <class>         → 查类信息
2. jad <class>           → 反编译看实际代码
3. classloader -t        → 查加载器树

MCP 配置模板

~/.openclaw/workspace/config/mcporter.json:

{
  "mcpServers": {
    "arthas": {
      "command": "node",
      "args": ["/root/.openclaw/workspace/arthas-mcp-stdio.js"]
    }
  }
}

MCP 脚本见 scripts/arthas-mcp-stdio.js。

Arthas 常用命令速查

见 references/arthas-commands.md。

注意事项

⚠️ 生产环境慎用:

  • trace/watch 有性能开销,高峰期避免长时间追踪
  • heapdump 会暂停应用,大堆可能卡住
  • 完成后记得 stop 停止追踪

✅ 最佳实践:

  • 优先用 -n 限制结果数量
  • 使用条件过滤 #cost > 100
  • 火焰图采样时间 30-60 秒足够
  • 堆转储后用 MAT/JProfiler 离线分析

依赖

  • 目标服务器有 Java 环境(JDK 8+)
  • SSH 访问权限
  • 本地 Node.js(MCP 需要)

平台分布

OpenClaw

97.74%
按下载量换算1,223

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

可疑

权限和风险

调用外部服务

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills