下面是 cpuinfo 的输出,它的最大频率是 1785 MHz,最小频率是 300 MHz。它们之间的差距很大,让人困惑
通常所说的 CPU 频率是多少?由于最大频率并不总是使用,是否应该考虑运行时间百分比?
Architecture: aarch64
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0,4,7
Off-line CPU(s) list: 1-3,5,6
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 3
CPU max MHz: 1785.6000
CPU min MHz: 300.0000
L1d cache: unknown size
L1i cache: unknown size
L2 cache: unknown size
L3 cache: unknown size
答案1
通常,CPU 将以最高频率运行,以满足系统负载(最高频率)。这样可以节省电量。
其他时候 CPU 运行频率低于最大频率时,是因为热量决定它应该自行调节,以免过热。
这个想法是,你不需要考虑太多。如果你有理由以特定的时钟频率运行它,你可以将其设置为内核启动参数。例如,你当然可以在运行 Linux 的 Raspberry Pi 上执行此操作
答案2
通常所说的频率是计算机能够持续运行的最大频率。
为了解决这个问题 - Turbo 速度是高于 CPU 设计运行的最大速度的速度 - CPU 只会以此速度运行短时间以提高性能,但会降至额定速度以免过热和损坏 CPU。
CPU 的实际运行速度取决于 Linux 的编程方式。一般来说,它会随着工作负载的增加而加速,而在无负载或轻负载时会减速。最小速度是 CPU 不执行任何工作时的最小速度。速度变化的原因是为了节省电量。(如果您在 Google 上搜索 Linux Speed Governor,您应该会找到大量关于如何调整 CPU 以实现最大速度、最低功耗以及介于两者之间的几乎所有内容的文章)
Linux 显示 CPU 核心以 300MHz 的速度运行并不罕见 - 特别是在配置为最大节能的系统上 - 只要系统负载不重,就不是问题 - 如果它以该速度运行并且系统负载过大,您可能会遇到严重的冷却问题。