WIndows10サポート終了ということでLinuxに乗り換えた方もおられるかと思います。
「Linuxってモッサリしてるなぁ」と感じられた方。Linuxの設定がパワーセーブモードになっているかもしれませんよ!
というわけで、ノートPCにDebian13インストールしたらモッサリしてたのに対処した話です。
去年までメインで使っていたノートPC(2021年製)が第6世代のi7-6700HQ積んでるとはいえ、
無理やり突っ込んだWIndows11が重たくなってきたので「Linuxに乗り換えよう」などと安易に行動してしまったわけです。
最近のディストロはインストールしてすぐに日本語が使えるのいいですね。ですがインストール後の作業をしていると何となくモッサリしています。
conkyインストールしてCPUモニター表示させてみると動作クロック0.8GHzと、とても低いです。「なんじゃこりゃ」というわけで、いろいろ探します。
「cpupower」というのを見つけました。debianでのインストールは
sudo apt install linux-cpupower
でインストール。
sudo cpupower frequency-info
で見てみると
current policy: のところに
frequency should be within 800MHz and 2.30 GHz.
The governor "powersave" may decide which speed to use within this range.
と出ました。
もっと働いてほしいので、設定を変更します。
先ほど見たfrequency-infoの中に
hardware limits: 800 MHz - 3.50 GHz
available cpufreq governors: performance powersave
とあります。CPU動作クロックの設定できる範囲と設定できるガバナーの種類です。
思い切ってパフォーマンスモードでMAXクロックで働いてもらいます。アイドルも高めで。(KHzで指定だそうです。)
sudo cpupower frequency-set --governor performance --min 1300000 --max 3500000
よし、これでOK!ともって再起動したら、元に戻っていました。
永続化の設定をしないといけないようです。
また調べます。ふむふむ。
新しくファイルを作ります。
sudo nano /usr/local/bin/set_cpu_frequency.sh
中身は
#!/bin/bash
/usr/bin/cpupower frequency-set -g performance --min 1300000 --max 3500000
保存して
sudo chmod +x /usr/local/bin/set_cpu_frequency.sh
実行権限をつけて
もう一つファイルを作ります。サービスのファイルですね。
sudo nano /etc/systemd/system/cpufreq-setter.service
中身は
[Unit]
Description=Set CPU scaling governor
[Service]
Type=oneshot
ExecStart=/usr/local/bin/set_cpu_frequency.sh
[Install]
WantedBy=multi-user.target
保存して
daemonのリロード
sudo systemctl daemon-reload
先ほど作ったサービスの有効化
sudo systemctl enable cpufreq-setter.service
サービスのスタート
sudo systemctl start cpufreq-setter.service
これで再起動しても設定が反映されます。
今回は、パフォーマンスモードに設定しましたが、ノートPCなので排熱が追い付かなくてサーマルスロットリングにあたってMAX周波数で動作するのは短時間です。
そんな時は、発熱や消費電力を抑えるためにMAXの周波数を抑えることにも使えます。