Linux 性能命令
有大量工具可以让您审核 Linux 系统的性能。在本教程中,我们将讨论 perf 命令行实用程序。 Perf 是一个用于轻量级 CPU 分析的命令行工具;它检查 CPU 性能计数器、跟踪点、upprobes 和 kprobes,监视程序事件并创建报告。
如何安装性能
Linux 系统默认不安装 Perf,因此您需要手动安装。
在 Ubuntu/Debian 上,执行以下命令:
$ sudo apt install linux-tools-$(uname -r) linux-tools-generic
一旦RHEL和CentOS系统,执行:
在 Fedora 上
要验证 Pef 是否已安装,请运行以下命令:
笔记 :
在 VMware 或 VirtualBox 等虚拟化平台上工作时,Perf 命令显示不完整的结果。这是因为虚拟化技术不像 XEN 或 KVM 等其他技术那样提供对硬件计数器的访问。
为了获得最佳结果,请确保您在物理机或基于 KVM 或 XEN 虚拟化技术的虚拟机上工作。
基本语法
Perf 命令采用以下语法
注意:
默认情况下,perf 命令是 root 用户的保留命令,如果您以普通用户身份运行这些命令,则会遇到权限错误,如图所示。
这是运行以下命令来授予常规用户使用 perf 实用程序的权限。
要使更改永久生效,请编辑 /etc/sysctl.conf 文件并附加以下行。
然后保存更改并退出。
Perf 通常使用子命令执行。我们将在本指南中介绍一些常用的子命令。但是,为了获得更好的了解,请访问手册页。
使用 perf list 选项列出事件
perf list选项列出了所有符号事件类型,包括硬件、软件和内核事件。
要缩小到特定事件类别,您可以在命令后添加类别名称。例如,要查看软件事件,请运行:
要仅查看与硬件相关的事件,请运行:
使用 perf stat 收集性能统计信息
使用stat选项,您可以在终端上执行命令时收集性能统计信息。例如,要收集 ls 命令的统计信息,请执行:
从命令中我们可以看到执行花费了1.9毫秒的CPU时间。您可以查看其他统计信息,例如周期数、指令数、分支数和分支未命中数。
使用 perf top 显示实时系统配置文件
perf top 命令提供 CPU 的实时分析或实时系统配置文件。 -a 标志允许您查看所有现有的事件类型
-e 选项允许您在perf list命令列出的多个类别中选择一个事件类别。例如,在这里,我们显示cpu-clock事件的实时分析。
记录命令的统计数据
perf record 命令执行命令并将执行数据保存在当前目录中的perf.data 文件中
然后,perf script 命令允许您浏览perf.data 文件中保存的数据。
最后,您可以使用 report 子命令将数据格式化为性能报告,如图所示。
这些是通常用于检索系统配置文件性能的主要 perf 子命令。他们有预定义的手册页,可以按如下方式访问:
当子命令选项可以是列表、顶部、记录、报告或统计时。