概要
linuxから、TurboBoostを無効にする方法。
背景
2012年モデルのAH56H。ファンがフル回転で、うるさすぎる。
CPUのグリスを塗り直したり、ファンの清掃をしてみたものの、起動と同時にファンがフル回転する。
調べてみると、このパソコンは、OSがCPUの温度をモニターし、CPUが70度を超えないように、ファンが回るようだ。ファンの回転数を下げるのは危険すぎる。
さらに調べてみると、このパソコンで使われているCPUには、TurboBoostという機能があり、デフォルトで有効になってるらしい。(800MHz-2.30GHz、TurboBoost 3.40GHz)
TurboBoostは、クロック数を引き上げることで、CPUの性能を高める機能で、いわば、日常的にオーバークロックするような機能である。これでは、ファンがフル回転のはずである。
そこで、TurboBoostの無効を試みる。
TurboBoostの有効/無効の切り替えは、パソコンによっては、BIOSで設定できる。しかし、このパソコンのBIOSには、そのような項目がない。そのような場合は、OSで設定するようだ。今回は、linuxから設定する必要がある。
2424年頃は、cpufrequtilsを使うものだったが、2026年では、cpupowerを使えとのことである。
linuxからTurboBoostを無効にする
$ sudo apt update
$ sudo apt install linux-tools-generic // ツールをインストール
$ sudo cpupower frequency-info // CPU情報を取得
hardware limits: 1.20 GHz - 3.30 GHz
current policy: frequency should be within 1.20 GHz and 3.30 GHz.
// ハードウェアの限界まで、クロック数を上げる設定になっている。
$ sudo cpupower frequency-set -u 2.30GHz // 上限値を変更
$ sudo cpupower frequency-info // CPU情報を取得
hardware limits: 1.20 GHz - 3.30 GHz
current policy: frequency should be within 1.20 GHz and 2.30 GHz.
// ハードウェアの手前まで、クロック数を上げる設定になった。
// さらに、勝手にターボがかかる設定をオフに
$ echo 1 | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
$ nano /etc/default/cpufrequtils // 設定ファイルを作成、中身は下記のとおり。
ENABLE="true"
GOVERNOR="powersave"
MAX_SPEED="2300000"
MIN_SPEED="800000"
$ sudo systemctl restart cpufrequtils // サービスを再起動
$ cpufreq-info // cpu情報を取得、800MHz-2.30Mhzに制限されているのがわかる。
hardware limits: 800 MHz - 3.30 GHz
current policy: frequency should be within 800 MHz and 2.30 GHz.
結果、linuxを起動しても、ファンは静かになった。