PWMファン制御
最近のCPUクーラー等はPWMによってファンの回転数制御を行うことができます。Ubuntuではfancontrolを利用することで、温度に応じたファンの回転数制御を行うことができます。
PCに搭載されているファンがPWMに対応しているかどうかは、ハードウェアの仕様書等で確認してください。
その辺の事情はWindowsと同じです。
事前準備
fancontrolはlm-sensorsと連携して動作するため、事前にlm-sensorsをインストールしファンの回転数や各種温度を取得できるようにしておいてください。センサーから情報が取得できない場合、fancontrolは利用できません。
注意事項
fancontrolの設定を誤るとオーバーヒートや熱による劣化等ハードウェアの故障につながります。良く分からない場合や不安な場合は、fancontrolを使用しないでください。
それから、PCを50年使う場合も利用しないほうが良いでしょう。
(if you plan to use these components in 50 years, maybe you shouldn't use fancontrol at all. ってヘルプに書いてある。)
インストール
Ubuntuソフトウェアセンターを起動し、「fancontrol」で検索します。「インストール」ボタンをクリックします。
設定ファイルの作成
fancontrolの設定ファイルを作成します。設定ファイルの作成は「pwmconfig」コマンドで行います。
注意事項
ファンの調査のため5秒ほどファンが停止します。そのため負荷が高い状況で「pwmconfig」コマンドを実行しないでください。
オーバーヒートや熱による劣化等ハードウェアの故障につながります。
負荷状況の確認
1.アプリを全て終了する2.システムモニターでCPUの使用率が低いことを確認する
3.システムモニターで「最近1,5,15分間の平均負荷」が0.5以下(目安)になっていることを確認する
4.CPUのクロック数を抑えておく
5.CPU等の温度が高くないことを確認する
(6.気温の低い冬がおすすめ。)
1.fancontrol deamonの停止
端末を起動し以下のコマンドを実行してfancontrol daemonを停止します。sudo service fancontrol stop
2.pwmconfigの実行
次に「pwmconfig」コマンドを実行します。sudo pwmconfig
3.ファンのテスト(最大回転数)
最初のテストでは、PWMに対応したファンの回転数を最大にします。適当に意訳します。
pwmconfigはPWMに対応したファンを検出しテストを行います。
テスト終了後にファンの回転数を最大にしますが、テスト終了時にファンが最大回転数で回転しているか必ず確認してください。
Found the following devices:
センサーチップの検出結果が表示されます。Found the following PWM controls:
PWM制御デバイスの検出結果を表示します。PWM非対応のファンでもPWMに対応したインターフェイス(ピン)に差し込んで利用することができます。
この場合、ファンの回転数の制御は行えません。
ここでの検出結果はデバイスの検出結果であって、PWMに対応したファンの検出結果ではありません。
Found the following fan sensors:
ファン接続インターフェイスの検出結果を表示します。また、ファンの回転数を表示します。
「current speed」が0になっているファンは、ファンが接続されていないか回転数を取得することができません。
上記画像では、「fan2_input」がPWMに対応したファンになります。
ちなみに私の環境では「fan2_input」はCPUクーラーです。
Warning!!!以下適当に意訳します。
次のテストでは5秒ほどファンを止めます。
状況によってはオーバーヒートする可能性があります。
次のテストに移って良いなら「エンター」キーを押します。
テストを中止するなら「Ctrl + C」キーを押します。
4.温度センサーとファンの関連付けテスト
温度に応じてファンの回転数を制御するため、温度センサーとファンを関連付ける必要があります。このテストではファンの回転を停止することにより、関連付けを調査します。
「3.」で検出されたPWM制御デバイス及びファンの組み合わせでテストを行います。
pwm1 + fan2_input
「No correlations were detected.」と表示されたら、ハズレです。
ハズレの場合、ファンは停止しません。
「エンター」キーを押します。
pwm2 + fan2_input
アタリです。
実際にファンが停止します。
「エンター」キーを押します。
以下のようにPWM値と回転数のテストが行われます。
このテストが終了すると、ファンの回転数が最大に戻ります。
pwm3 + fan2_input
ハズレです。
「エンター」キーを押します。
5.テスト完了
テスト完了です。fancontrolの設定ファイルを作成するか聞いてくるので、「エンター」キーを押します。
もし設定ファイルを作成したくない場合は、「n」を入力して「エンター」キーを押します。
6.設定ファイルの調整
設定ファイルの保存先を聞いてくるので、何も入力せず「エンター」キーを押します。最後に設定ファイルの調整を行います。
行いたい調整の数値を入力して、「エンター」キーを押します。
7.設定の確認
「5」を入力して「エンター」キーを押します。「Depends on」が温度センサーの識別子です。
覚えておいてください。
8.温度設定
「1」を入力して「エンター」キーを押します。まず温度センサーを選択します。
温度センサーは「7.」で確認した識別子を選択します。
次に温度設定とファンの回転数を設定します。
below which the fan should spin at minimum speed:
ファンの回転数を最小にする温度を指定します。この温度以下になるとファンの回転数が最小になります。
over which the fan should spin at maximum speed:
ファンの回転数を最大にする温度を指定します。この温度以上になるとファンの回転数が最大になります。
over the high temperature limit:
ファンの最大回転数をPWM値で入力します。PWM値とファンの回転数の関係は、「4.」のテスト時に表示されます。
9.動作間隔の設定
fancontrolの動作間隔の設定です。「2」を入力して「エンター」キーを押します。
動作間隔を秒で指定します。
動作間隔を短くすると、急激な温度変化に対応しやすくなりますが、OSの負荷が上がります。
10.設定ファイルの保存
「4」を入力して「エンター」キーを押します。設定ファイルを保存し、pwmconfigを終了します。
後はPCを再起動してファン制御が機能しているか確認してみてください。