# Linux Perf命令使用
Linux中的perf命令是一个强大的性能分析工具,它提供了多种子命令和选项来满足不同的性能分析需求。
大多数Linux发行版中,perf是内核的一部分,但需要通过软件包管理器进行安装。
sudo apt update
sudo apt install linux-tools-common linux-tools-$(uname -r)
# 使用
- perf stat:统计程序运行时的硬件事件
sudo perf stat ./vf
# Performance counter stats for './vf':
# 1.69 msec task-clock # 0.695 CPUs utilized
# 1 context-switches # 591.533 /sec
# 0 cpu-migrations # 0.000 /sec
# 114 page-faults # 67.435 K/sec
# 4,514,981 cycles # 2.671 GHz
# 3,828,810 instructions # 0.85 insn per cycle
# 635,333 branches # 375.820 M/sec
# 17,397 branch-misses # 2.74% of all branches
# 0.002433726 seconds time elapsed
# 0.001230000 seconds user
# 0.001230000 seconds sys
perf record:记录程序运行时的性能事件
perf top:实时显示系统中占用CPU最多的函数
跟踪系统调用
perf trace ./your_program
- 分析内核事件:perf sched可以用来分析内核中的调度事件,了解进程的调度行为。
perf sched
- 列出事件
perf list
- 如缓存命中率
sudo perf stat -e L1-dcache-load-misses,L1-icache-load-misses ./vf