Dun*_*une 8 cpu ubuntu macintosh cpu-frequency intel
我在 Linux (Ubuntu 18.04) 上使用带有四个处理器内核的 MacBook Retina:
$ grep -E '^model name|^cpu MHz' /proc/cpuinfo
model name : Intel(R) Core(TM) i5-4258U CPU @ 2.40GHz
cpu MHz : 799.976
model name : Intel(R) Core(TM) i5-4258U CPU @ 2.40GHz
cpu MHz : 799.993
model name : Intel(R) Core(TM) i5-4258U CPU @ 2.40GHz
cpu MHz : 799.992
model name : Intel(R) Core(TM) i5-4258U CPU @ 2.40GHz
cpu MHz : 800.016
Run Code Online (Sandbox Code Playgroud)
为了启用这个调控器(和按需调控器),我切换到acpi-cpufreq驱动程序。按照(将 CPU 调节器设置为按需或保守)和(https://ubuntuforums.org/showthread.php?t=1767485)中的说明,我必须在以下位置启用两个内核标志grub.cfg:
intel_pstate=disable processor.ignore_ppc=1
Run Code Online (Sandbox Code Playgroud)
反正。这就是cpufreq-info给我的:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 3
CPUs which need to have their frequency coordinated by software: 3
maximum transition latency: 10.0 us.
hardware limits: 768 MHz - 2.40 GHz
available frequency steps: 2.40 GHz, 2.40 GHz, 2.30 GHz, 2.00 GHz, 1.80 GHz, 1.50 GHz, 1.30 GHz, 1.10 GHz, 900 MHz, 768 MHz
available cpufreq governors: conservative, ondemand, userspace, powersave, performance, schedutil
current policy: frequency should be within 768 MHz and 2.40 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 800 MHz.
Run Code Online (Sandbox Code Playgroud)
所以 768-2400MHz 硬件限制是众所周知的,但不知何故它拒绝远离 800MHz。我尝试了 on demand 但没有成功。
现在是有趣的部分。如果我只是使用cpupower frequency-info,我会得到
current CPU frequency: Unable to call hardware
current CPU frequency: 800 MHz (asserted by call to kernel)
Run Code Online (Sandbox Code Playgroud)
但是,如果我cpupower以 root 身份调用,我会得到
current CPU frequency: 2.40 GHz (asserted by call to hardware)
Run Code Online (Sandbox Code Playgroud)
这怎么可能?内核和硬件报告不同的值(感觉很慢,所以我相信内核)。您对这里可能出现的问题有任何线索吗?