← ClaudeAtlas

profilinglisted

性能分析
ryukyagamilight/terminal-skills · ★ 1 · AI & Automation · score 75
Install: claude install-skill ryukyagamilight/terminal-skills
# 性能分析 ## 概述 CPU/内存分析、火焰图、追踪技能。 ## perf 工具 ### 基础命令 ```bash # 安装 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 ``` ### 常用事件 ```bash # CPU 周期 perf record -e cycles -p PID # 缓存未命中 perf record -e cache-misses -p PID # 上下文切换 perf record -e context-switches -p PID # 列出可用事件 perf list ``` ### 火焰图 ```bash # 采集数据 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 追踪 ### 基础用法 ```bash # 追踪进程 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 ``` ### 高级选项 ```bash # 显示时间戳 strace -t command strace -tt command # 微秒 # 显示耗时 strace -T command # 跟踪子进程 strace -f command # 输出到文件 strace -o trace.log command ``` ## ltrace 库调用 ```bash # 追踪库调用 ltrace command ltrace -p PID # 统计 ltrace -c command # 特定库 ltrace -l libc.so.6 command ``` ## 内存分析 ### valgrind ```bash # 内存泄漏检测 valgrind --leak-check=full ./program # 内存错误 valgrind --tool=memcheck ./program # 缓存分析 valgrind --tool=cachegrind ./program # 调用图 valgrind --to