20.2. 使用 perf stat 计数事件
您可以使用 perf stat
计算命令执行过程中出现的硬件和软件事件,并生成这些计数的统计信息。默认情况下,perf stat
以针对每个线程的模式运行。
先决条件
-
已安装
perf
用户空间工具,如安装 perf 所述。
流程
计算事件数。
在没有 root 访问权限的情况下运行
perf stat
命令只会计算在用户空间中出现的事件:perf stat ls
$ perf stat ls
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例 20.1. perf stat 的输出在没有 root 访问权限的情况下运行
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如上例中所示,如果
perf stat
运行没有 root 访问权限,则事件名称会加上:u
,表示这些事件只在用户空间中计算出来。要计算用户空间和内核空间事件,在运行
perf stat
时必须具有 root 访问权限:perf stat ls
# perf stat ls
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例 20.2. 使用 root 访问权限运行 perf stat 的输出
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认情况下,
perf stat
以针对每个线程的模式运行。要更改为 CPU 范围事件计数,请将-a
选项传递给perf stat
。要计算 CPU 范围内的事件,您需要 root 访问权限:perf stat -a ls
# perf stat -a ls
Copy to Clipboard Copied! Toggle word wrap Toggle overflow