*1  SpeedStep を Linux で使う

ここ数週間で 2度も Linux NotePC (CF-Y4) がフリーズしたので、もしかして熱暴走では無いかと思い、CPU clock speed の調整をしてみることにした。この PC は centrino なので SpeedStep が利用できる。CPU feature を見る場合、/proc/cpuinfo にある flags の est がそれに当たるようだ。
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge 
mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx est tm2
asm/cpufeature.h ではこの部分
#define X86_FEATURE_EST         (4*32+ 7) /* Enhanced SpeedStep */
まずは
# modprobe speedstep_centrino
した時に /sys/devices/system/cpu/cpu0/cpufreq/ が作られるようであれば対応している (centrino 以外の speedstep はよく知らないが) ので、/etc/modules に speedstep_centrino と書いておく。

*2  cpufreqd の設定

制御には cpufreqd を使う。インストールした時点で、AC 電源を抜いた際に動作クロックが下がるのが見て取れるはずだ。一方 AC on の場合、デフォルト設定では常に 100% で動くようになっている。これを変更するために /etc/cpufreqd.conf を調整する。あまり細かく区切っても面倒なので 4段階に。
[Rule]
name=AC_on_lo
ac=on
cpu_interval=0-10
profile=lo_save

[Rule]
name=AC_on_mid_lo
ac=on
cpu_interval=10-30
profile=medium_save

[Rule]
name=AC_on_mid_hi
ac=on
cpu_interval=30-60
profile=medium_boost

[Rule]
name=AC_on_hi
ac=on
cpu_interval=60-100
profile=hi_boost
対応する [Profile] は以下のようにしている。
nameminfreq(%)maxfreq(%)policy
lo_save030powersave
medium_save2040powersave
medium_boost3366performance
hi_boost66100performance

Gnome の CPU Frequency Scaling Monitor で見ると、CPU負荷によって1.50GHz から 600MHz まで変動している。この CPU では Freq の範囲は 600-1,500MHz のようなので 600MHz (40%) 以下には下がらないようだ。普通にエディタを使っているくらいの時は大体 600MHz 、make したり Firefox でページ表示を更新したりすると 1.20-1.50GHz といった高い数字になる。

さてそれで肝心の筐体温度だが、うーん、PC裏面に触った程度ではあまり変わってないような気もする。lm-sensors がきちんと動かないので M/B のセンサーから温度が取れないのだが、多少なりとも省電力にはなっているだろうか。 acpi から取った温度情報だと、以前はほぼ常時 60℃以上だったものが 600MHz 稼働時は 53〜58℃程度に落ち着いているので、それなりには効果があるようだ。

( Permalink | Comments (0) | tags: notepc  )
Comments

Please write your comment. email address won't appear. Cannot use any HTML tags in comment.
コメントをお書き下さい。メールアドレスは公開されません。 またHTMLタグは利用できません。
Name   E-mail   URL
Comment

About W.W.Walker

World Wide Walker は yoosee による blog です。PDA, Web・サーバ技術, 美味しい食べ物などの話題を取り上げています... read more

このエントリーのブックマーク

Monthly Archives

Select Month to read