我正在使用 -j64 编译一些东西以允许多处理(建议使用 88,但我觉得太高了)。
我的所有核心的使用率始终为 100%,但是当我查看 lscpu 时,处理器的频率并没有达到最大值:
CPU MHz: 3123.046
CPU max MHz: 3900.0000
CPU min MHz: 800.0000
这是在戴尔笔记本电脑上 - 是否有电源管理系统(我没有做过 powertop 或任何东西)会限制核心,或者这只是使 CPU 无法获取数据的 I/O 开销?
编辑:这是一个Intel(R) Core(TM) i7-7820HQ
(lscpu 说@ 2.90GHz
)
答案1
您引用的 3900MHz 速度是最大“涡轮”频率,并不是在每种使用情况下都能维持的速度。
从英特尔网站:
最大睿频频率是指利用英特尔® 睿频加速技术可实现的最大单核处理器频率。
和:
英特尔® Turbo Boost 技术 2.0 状态的可用性和频率上升取决于许多因素,包括但不限于以下因素:
- 工作量类型
- 活动核心数
- 预计电流消耗
- 预计耗电量
- 处理器温度
由于您正在使用所有内核,因此 CPU 会保持所有内核处于活动状态,这会产生大量热量并消耗大量电量,因此无法以 3900MHz 的完整频率运行。如果您以单线程进程运行编译,则可以预期看到更高的频率,因为它会增加单个内核(除非您的笔记本电脑的冷却系统无法应付)。