PHC
関連記事
PHC はプロセッサを低電圧化するための acpi-cpufreq のパッチです。プロセッサの消費電力を半分以下に抑えて、バッテリーの寿命を伸ばしたりファンのノイズを少なくすることができます。PHC はプロセッサのアーキテクチャが低電圧化をサポートしている場合のみ使えます。
目次
サポートされている CPU
PHC は以下のプロセッサファミリーをサポートしています:
Intel
- Mobile Centrino
- Atom (N2xx)
- Core / Core2 (T と P シリーズ)
- Core i (第二世代以下、Core i3 550 でテスト済み)
AMD
- K8 シリーズ
必要なパッケージのインストール
Intel プロセッサを使っている場合は AUR の phc-intelAUR を、AMD-K8 シリーズのプロセッサを使っている場合は phc-k8AUR をインストールしてください。
次に、あなたのカーネル用のモジュールをコンパイルする必要があります。カーネルをアップデートした後もコンパイルが必要です (ただし DKMS を使うことでコンパイルは自動化できます、下を参照)。
モジュールをビルドするには linux-headers や linux-lts-headers をインストールしなくてはなりません。
次を実行:
# phc-intel setup
または:
# phc-k8 setup
acpi-cpufreq モジュールが起動時にロードされていない場合は、/etc/modules-load.d/
に適当なファイルを作成してください。詳しくはカーネルモジュール#ロードを参照。
DKMS による自動モジュール生成
phc-intelAUR パッケージは DKMS を使って、カーネルのアップデート後に自動的にモジュールをアップデートします。カーネルやカーネルのヘッダが確実に同期されるように、シャットダウン時に行われます (アップデートがインストールされる順番によっては、システムアップグレード中に行っても問題はありません)。
systemd サービスを有効化するには、次を実行:
# systemctl enable dkms-phc-intel
PHC の設定
安全な低電圧の確認
mprime-phc-setup スクリプトを使うことで、最適な電圧を自動的に確認することができます (ソースコード)。コードをテキストファイルにコピーして、chmod +x して実行可能属性を付与して、実行してください。先に mprimeAUR または mprime-binAUR をインストールする必要があります (CPU が安定しているか確認するのに使われます)。このスクリプトは多数のシステムでテストされたわけではありませんが、おそらく安全です。
設定の編集
phc モジュールをコンパイルして最低電圧が確認できたら、/etc/default/phc-intel
や /etc/default/phc-k8
の設定ファイルに値を追加してください。
例:
VIDS="25 22 15 8 5"
システムを再起動すると systemd によってモジュールが自動的にロードされます。
トラブルシューティング
モジュールのロード
次を実行:
$ dmesg | grep acpi-cpufreq
モジュールに関するエラーが表示されたら、何か設定がおかしいか PHC が使われていません。
ハードウェアの認識
/sys/devices/system/cpu/cpu0/cpufreq/
に "phc_" から始まるファイルがあるはずです。PHC が使われているかどうかを確認するには、次を実行:
$ cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
いくつか値が表示されるはずです。何も値が表示されない場合、あなたの CPU は PHC をサポートしていません。
電圧の制御
CPU の電圧を確認することで PHC がちゃんと機能しているかどうか確認することができます: 電圧が通常電圧よりも下がっている場合、PHC が仕事をしているということです。手動で電圧を設定することもできます、例:
# echo 34 26 18 12 8 5 > /sys/devices/system/cpu/cpu0/cpufreq/phc_vids
システムの安定性
低電圧化した CPU が安定しているかどうか確認するには、mprimeAUR や linpackAUR (Intel のみ) を長時間実行してみてください。