什么是perf,可以用来干什么
perf 是 Linux 内核的性能分析工具集,它可以用来监控和分析系统和应用程序的性能。perf 提供了一系列功能强大的子命令,可以帮助开发者和系统管理员:
- 监控 CPU 使用率:识别最消耗 CPU 的代码段。
- 分析缓存命中和未命中:优化内存访问模式。
- 记录和分析系统调用:追踪系统调用和事件。
- 生成调用图:分析函数调用关系。
- 检测软件和硬件事件:如页面错误、CPU 循环、分支预测等。
通过这些功能,perf 可以帮助诊断性能瓶颈、解决性能问题,并提高应用程序和系统的效率。
perf的安装
在大多数 Linux 发行版中,perf 可以通过包管理器轻松安装。例如,在基于 Debian 的系统上,您可以使用以下命令安装:
sudo apt-get install linux-tools-common linux-tools-`uname -r`
在基于 Red Hat 的系统上,您可以使用:
sudo yum install perf
安装完成后,您可以通过运行 perf --version 来验证 perf 是否正确安装。
perf常用命令行参数
perf 提供了许多命令行参数来定制其行为。以下是一些常用的参数:
-a, --all-cpus:监控所有 CPU 的性能。-c, --count:设置事件计数周期。-F, --freq:设置采样频率。-g:启用调用图记录。-p, --pid:监控特定进程的性能。-e, --event:指定要监控的事件。
这些参数可以组合使用,以收集特定的性能数据。
另外其他阐述可以使用 sudo perf top -h 查看帮助手册
perf查看历史信息
虽然 perf 主要用于实时性能分析,但它也可以通过 perf record 和 perf report 命令来查看和分析历史性能数据。例如:
sudo perf record -a -g sleep 10
sudo perf report
这将记录系统 10 秒钟的性能数据,并生成一个报告供分析。