MCPInstall

profiling

性能分析

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
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads profiling automatically when relevant.

  3. 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

工具对比

工具用途开销
perfCPU 分析低
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

View all →

cron

chaterm/terminal-skills

定时任务管理

1.3K installs

system-admin

chaterm/terminal-skills

Linux system administration and monitoring

DevOps & Cloud561 installs

systemd

chaterm/terminal-skills

Open the skill to read its SKILL.md instructions.

253 installs

network-tools

chaterm/terminal-skills

Open the skill to read its SKILL.md instructions.

217 installs

vpn

chaterm/terminal-skills

VPN 配置与管理

193 installs

ssh

chaterm/terminal-skills

SSH 管理与安全

147 installs

Popular other skills

View category →

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.

1.3M installs

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.

1M installs

ask-matt

mattpocock/skills

Ask which skill or flow fits your situation. A router over the skills in this repo.

778.4K installs

to-questionnaire

mattpocock/skills

Turn a decision you can't fully answer into a questionnaire for someone else to fill in.

508.9K installs

wait-what

mattpocock/skills

Stop. That last message did not land: re-pitch it.

459.7K installs

loop-me

mattpocock/skills

Grill me about specs for the workflows I want to build, within this workspace.

447.9K installs