パフォーマンスチューナーを使用しても、プロセッサ周波数は最低レベルに維持されます。コアとハードウェアの周波数が一定ではありませんか?

パフォーマンスチューナーを使用しても、プロセッサ周波数は最低レベルに維持されます。コアとハードウェアの周波数が一定ではありませんか?

私はLinux(Ubuntu 18.04)で4つのプロセッサコアを持つ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

このガバナー(およびオンデマンドガバナー)を有効にするためにacpi-cpufreqドライバーに切り替えました。フォローしてください(CPU ガバナーを On-Demand または Conservative に設定)そして(https://ubuntuforums.org/showthread.php?t=1767485)、次の場所で2つのカーネルフラグを有効にする必要がありましたgrub.cfg

intel_pstate=disable processor.ignore_ppc=1

それでも。これが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.

だから768~2400MHzのハードウェア的限界はよく知られていますが、なぜか800MHzから抜け出すことを拒否しますね。成功せずに ondemand を使ってみました。

今楽しい部分があります。簡単に使用すると、cpupower frequency-info次のような結果が得られます。

  current CPU frequency: Unable to call hardware
  current CPU frequency: 800 MHz (asserted by call to kernel)

しかし、cpupowerrootとして呼び出すと

  current CPU frequency: 2.40 GHz (asserted by call to hardware)

どうやってこれができますか?カーネルとハードウェアは異なる値を報告します(遅い感じでカーネルを信頼します)。ここで何が間違っているのか知っていますか?

関連情報