
- Installs
- 60
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/chaterm/terminal-skills --skill profiling- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads profiling automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
性能分析
概述
CPU/内存分析、火焰图、追踪技能。
perf 工具
基础命令
# 安装
apt install linux-tools-common linux-tools-$(uname -r)
# CPU 采样
perf record -g -p PID
perf record -g -a -- sleep 30
# 查看报告
perf report
perf report --stdio
# 实时统计
perf top
perf top -p PID
# 统计事件
perf stat command
perf stat -p PID sleep 10
常用事件
# CPU 周期
perf record -e cycles -p PID
# 缓存未命中
perf record -e cache-misses -p PID
# 上下文切换
perf record -e context-switches -p PID
# 列出可用事件
perf list
火焰图
# 采集数据
perf record -F 99 -g -p PID -- sleep 30
# 生成火焰图
perf script | stackcollapse-perf.pl | flamegraph.pl > flamegraph.svg
# 或使用 FlameGraph 工具
git clone https://github.com/brendangregg/FlameGraph
perf script | ./FlameGraph/stackcollapse-perf.pl | ./FlameGraph/flamegraph.pl > out.svg
strace 追踪
基础用法
# 追踪进程
strace -p PID
# 追踪命令
strace command
# 统计系统调用
strace -c command
strace -c -p PID
# 追踪特定调用
strace -e open,read,write command
strace -e trace=network command
strace -e trace=file command
高级选项
# 显示时间戳
strace -t command
strace -tt command # 微秒
# 显示耗时
strace -T command
# 跟踪子进程
strace -f command
# 输出到文件
strace -o trace.log command
ltrace 库调用
# 追踪库调用
ltrace command
ltrace -p PID
# 统计
ltrace -c command
# 特定库
ltrace -l libc.so.6 command
内存分析
valgrind
# 内存泄漏检测
valgrind --leak-check=full ./program
# 内存错误
valgrind --tool=memcheck ./program
# 缓存分析
valgrind --tool=cachegrind ./program
# 调用图
valgrind --tool=callgrind ./program
kcachegrind callgrind.out.*
pmap
# 查看进程内存映射
pmap PID
pmap -x PID
# 详细信息
pmap -XX PID
smem
# 内存使用统计
smem
smem -u # 按用户
smem -p # 按进程
smem -k # 人类可读
系统分析
vmstat
# 每秒刷新
vmstat 1
# 输出说明
# r: 运行队列
# b: 阻塞进程
# si/so: 交换
# bi/bo: 块 IO
# us/sy/id/wa: CPU 使用
iostat
# 磁盘统计
iostat -x 1
# 输出说明
# %util: 设备利用率
# await: 平均等待时间
# r/s, w/s: 读写 IOPS
pidstat
# CPU 使用
pidstat -u 1
# 内存使用
pidstat -r 1
# IO 使用
pidstat -d 1
# 特定进程
pidstat -p PID 1
常见场景
场景 1:CPU 热点分析
#!/bin/bash
PID=$1
# 采集 30 秒
perf record -F 99 -g -p $PID -- sleep 30
# 生成报告
perf report --stdio > cpu_report.txt
# 生成火焰图
perf script | stackcollapse-perf.pl | flamegraph.pl > cpu_flame.svg
场景 2:IO 延迟分析
#!/bin/bash
# 使用 biolatency (bcc-tools)
biolatency 10 1
# 或使用 iostat
iostat -x 1 10
场景 3:系统调用分析
#!/bin/bash
PID=$1
# 统计系统调用
strace -c -p $PID -o syscall_stat.txt &
sleep 60
kill %1
cat syscall_stat.txt
工具对比
| 工具 | 用途 | 开销 |
|---|---|---|
| perf | CPU 分析 | 低 |
| strace | 系统调用 | 高 |
| valgrind | 内存分析 | 很高 |
| pidstat | 进程统计 | 低 |
故障排查
# perf 权限问题
echo 0 > /proc/sys/kernel/perf_event_paranoid
# 符号缺失
apt install linux-tools-$(uname -r)-dbgsym
# strace 附加失败
echo 0 > /proc/sys/kernel/yama/ptrace_scope
FAQ
What does the profiling skill do?
性能分析
How do I install profiling?
Run npx skills add https://github.com/chaterm/terminal-skills --skill profiling in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/profiling/ (personal) or .claude/skills/profiling/ (project).
Which AI agents can use profiling?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is profiling safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains profiling?
It is published by chaterm in chaterm/terminal-skills. It has 60 recorded installs.
More from chaterm/terminal-skills
system-admin
chaterm/terminal-skills
Linux system administration and monitoring
Popular other skills
hyperframes-cli
heygen-com/hyperframes
The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.
triage
mattpocock/skills
Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.
ask-matt
mattpocock/skills
Ask which skill or flow fits your situation. A router over the skills in this repo.
to-questionnaire
mattpocock/skills
Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
loop-me
mattpocock/skills
Grill me about specs for the workflows I want to build, within this workspace.