diary/Kojima

・cpufreqd

Corei7をmake -j4とかで動かすとCPUの温度が80℃を超えてしまう件、 どうやらcpufreqdで高温時には動作周波数を下げることで対処できそう。

詳細は某所の連載のネタにする予定だけど、/etc/cpufreqd.conf で

[sensors_plugin]
sensors_conf=/etc/sensors3.conf
[/sensors_plugin]

として、cpufreqdがlmsensorsを引けるようにしておいて、

[Rule]
name=Default Rule
sensor=Core 0:0-70
cpu_interval=0-100
profile=Performance High
[/Rule]
 
# CPU Too hot!
[Rule]
name=CPU Too Hot
#acpi_temperature=55-100
sensor=Core 0:71-100
cpu_interval=50-100
profile=On Demand Low
[/Rule]

みたいなルールを設定してやると、Core 0 の温度が70℃まではPerformance Highのprofileで100%の動作周波数になり、 70℃を超えると On Demand Lowのprofileで最大80%の動作周波数に抑えてくれる模様。 ちなみにそれぞれのprofileはこんな感じ。

[Profile]
name=On Demand Low
minfreq=20%
maxfreq=80%
policy=ondemand
[/Profile]

[Profile]
name=Performance High
minfreq=100%
maxfreq=100%
policy=performance
[/Profile]

こうしておけば、カーネルを make -j4 とかでビルドしても70℃を少し超える程度に収まって、 たまにビープ音がする(テストした時は2度ほどした)だけでカーネルビルドが終了した。

corei7_temp2.jpeg

cpufreqdはノートPCでAC電源の有無やバッテリ残量とかで動作周波数を設定するのに使うと思っていたのだけど、 lmsensorsと組み合わせればCPU温度で周波数を変化させることも可能らしい。

もちろん周波数が下がる分コンパイル速度は遅くなるけど、 並列度を下げるのに比べると微々たるものだし、ビープ音にハラハラしなくて済むのは気が楽なので、 とりあえずこの夏はこれでしのごう。:-)

CPUはOn Demand Lowの80%上限モードで2.4GHzの動作周波数になっている模様 -- kojima 2011-07-15 (金) 07:50:23



添付ファイル: filecorei7_temp2.jpeg 213件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-12-17 (金) 16:35:42