2012年11月14日

cpufreqdを用い温度変化によるCPU速度の調整

フリーズする、CPU FANから異音がするなど、CPU温度が高すぎても低すぎても不具合が出る場合の対処。

lm-sensorsで温度を調べ、cpufreqdでCPUの動作速度を制御する。

cpufreqdとlm-sensorsをインストール。
$ sudo apt-get install cpufreqd lm-sensors
再起動。

温度センサーが機能しているかを確認。
$ sensors -u
k8temp-pci-00c3
Adapter: PCI adapter
Core0 Temp:
temp1_input: 31.000
※上記はAthlon 64 3500+(2.2GHz)の場合のsensors -uの結果。

/etc/cpufreqdの編集。
※Ubuntu 12.04、Athlon 64 3500+の場合の設定。CPU温度が0〜25度なら温度を上げるため動作速度を上げる。50〜100度なら温度を下げるため動作速度を下げる。
[sensors_plugin]
sensors_conf=/etc/sensors3.conf
[/sensors_plugin]

[Rule]
name=CPU High or Too Cold
cpu_interval=98-100
sensor=temp1:0-25
profile=Performance High
[/Rule]

[Rule]
name=CPU Low or Too Hot
cpu_interval=0-44
sensor=temp1:50-100
profile=Powersave Low
[/Rule]

※他の[Rule][/Rule]の内容は行の頭に#を付けてコメント化するか、削除。

cpufreqdをリスタート。
$ sudo /etc/init.d/cpufreqd restart

※Athlon 64の場合の注意点。最高クロックと最低クロックの2つのみで動作が切り替わるようにしたほうがいいらしい。知識不足なので詳細は不明。最低クロックも(1000MHz未満に設定可能な場合)1000MHz未満にはせず1000MHzにする(Powersave Lowのprofile中のminfreqとmaxfreqを調整する)。色々と調整しても不具合が出る場合は、動作速度の制御を諦め動的に切り替えないことやCool'n'Quietを無効にする。

2013-11-04,追記
この記事は時代遅れの内容を含んでいる可能性があります。Ubuntu 13.04でcpufreqdが正常に設定できないなどの症状を確認しました。
posted by 齋藤聡 at 10:51 | Comment(0) | Linux | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。