Skip to content
Agentmart
Submit a tool

java-asprof

该skill没有执行文件,为操作指引:采集Java执行情况

Skill by hellyguo

IndexedApache-2.0★ 8
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/hellyguo-java-asprof

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

该skill没有执行文件,为操作指引:采集Java执行情况

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/java-asprof

What's inside

Skill name
java-asprof
Description
该skill没有执行文件,为操作指引:采集Java执行情况
License
Apache-2.0
Instructions
24 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Java 运行时采样(async-profiler)

使用 async-profiler 对运行中的 Java 进程采样,采集 CPU、内存分配、锁等事件,用于性能瓶颈定位。

## 前置条件

1. 通过 skill `java-env` 确认 JDK 版本与 mvnd/mvn,保证 `jps`、`asprof` 与目标进程使用同一 JDK。
2. 确认 async-profiler 路径:`${HOME}/app/async-profiler`。
3. 确认目标进程 PID 或可唯一匹配的进程名。

## 执行步骤

1. `jps -l` 列出 Java 进程,确认目标 PID 与主类。
2. 选择采样事件:
   - `cpu`:CPU 热点,最常用
   - `alloc`:内存分配热点
   - `lock`:锁竞争
   - `wall`:墙钟耗时(包含等待)
   - `itimer` / `ctimer`:按定时器采样
3. 执行采样,产物写入 `/tmp/profile.txt`(可按需改为 `.html` 或 `.jfr`)。
4. 读取采样结果,定位热点函数并给出优化建议。

## 命令模板

参数说明:`<event>` 为采样事件,`<duration>` 为采样秒数,`<output>` 为输出文件,`<pattern>` 为进程名或主类关键字。

```bash
# 按进程名匹配 PID
PID=$(jps -l | grep '<pattern>' | cut -d' ' -f1)

# 基础采样
asprof -i 1000 -e <event> -d <duration> -f <output> "$PID"

# 采样线程栈
asprof -i 1000 -e <event> -t -d <duration> -f <output> "$PID"

# 使用 dwarf 解析 C 栈(JVM 内 native 调用较多时)
asprof -i 1000 -e <event> -t -d <duration> --cstack dwarf -f <output> "$PID"
```

## 输出与判读

- 火焰图(`.html`):横向宽度代表耗时占比,优先关注宽而深的调用链。
- 采样文本:按栈帧聚合的采样计数,计数越高说明该路径越热。
- 内存分配采样:关注 `alloc` 事件中占比高的分配点,结合对象生命周期判断是否为泄漏或高频短命对象。

## 注意事项

- 采样时长应覆盖完整业务周期,过短容易失真。
- 生产环境采样有性能开销,建议使用 `-i` 控制采样间隔并避免长时间采样。
- 采样结果必须结合代码与调用链复核,不能只凭火焰图宽度下结论。

From hellyguo/self-ai-spec, Apache-2.0.

More from hellyguo/self-ai-spec

Signals

Stars
8
Forks
0
Open issues
0
Last commit (this folder)
Aug 27, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from hellyguo

Cite this page

java-asprof skill. Agent Mart. https://agentmart.dev/skills/hellyguo-java-asprof (last updated 2026-10-24)