了解 Linux Perf Stat 打印的频率

Understanding the Frequency printed by Linux Perf Stat

perf stat <command> 打印与 <command> 相关的几个统计数据。大多数统计数据都很容易理解。但是,与 cycle 统计数据相关的频率(如下所示)是什么意思?

5,205,202,243 cycles # 3.046 GHz

只是cycles / task-clock

所以它可能比你对 perf stat --all-usercycles:u 的预期要低,这意味着 cycles 只计入 user-space (不是中断或系统调用),但任务时钟来自内核软件,该软件记录了此进程的线程被调度到 CPU 个内核上的时间。

这意味着它是您的线程 运行 开启的核心 CPU 实际核心时钟的加权平均值。

(相关: 但该答案表明它应该接近您的 CPU 的额定频率或最大涡轮增压,这对于不会使核心加速的短流程是不正确的最多或仅计算用户-space 周期。)