Vine LinuxでSpeedStepを使う
Last-modified: 2018-02-03 (土) 09:34:01 (2420d)
概要 †
Vine Linux 3.1をIntelのSpeed Step対応ノートパソコンで使う場合、AC電源とバッテリーで動作モードが変わるようになっている。AC電源の場合はFullスピードで動作しているため、本体が熱くなりファンが回りっぱなしになる。そこで、CPUの使用率によってCPUの動作周波数を変更するようにしてみた。 以下は、IBM Thinkpad X23(低電圧版モバイルPentium III-M 866MHz)の話。
設定手順 †
Speed Stepに対応しているか調べる。 †
$ cat /proc/cpufreq minimum CPU frequency - maximum CPU frequency - policy CPU 0 532000 kHz ( 61 %) - 864500 kHz (100 %) - performance
X23の場合、532Mhzと864.5Mhzの2種類がある。対応していない場合は、CPU 0が表示されない。
cpufreqdのインストール †
# apt-get install cpufreqd パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 以下のパッケージが新たにインストールされます: cpufreqd アップグレード: 0 個, 新規インストール: 1 個, 削除: 0 個, 保留: 0 個 39.0kB のアーカイブを取得する必要があります。 展開後に 85.5kB のディスク容量が追加消費されます。 取得:1 http://updates.vinelinux.org 3.1/i386/main cpufreqd 1.1.2-0vl1 [39.0kB] 39.0kB を 0s 秒で取得しました (150kB/s) 変更を適用しています... Preparing... ########################################### [100%] 1:cpufreqd ########################################### [100%] Shutting down CPU Frequency daemon: [FAILED] Starting CPU Frequency daemon: [ OK ] 完了
cpufreqd.confの編集 †
# vi /etc/cpufreqd.conf
[Profile] name=perf ←負荷がかかっているときのProfile minfreq=864500 ←さっき調べた値を記述(%でもよい) maxfreq=864500 policy=performance [Profile] name=idle ←アイドル時のProfile minfreq=532000 ←さっき調べた値を記述(%でもよい) maxfreq=532000 policy=performance # when AC use performance mode [Rule] ←上のProfileを適用させるための条件を決める name=AC_on ac=on # (on/off) cpu_interval=20-100 ←CPU使用率が20-100%の時 profile=perf ←Profileをperfにする [Rule] name=AC_on_idle ac=on # (on/off) cpu_interval=0-20 ←CPU使用率が0-20%の時 profile=idle ←Profileをidleにする
cpufreqdの再起動 †
# /etc/init.d/cpufreqd restart CPU Frequency daemonを停止中: [ OK ] CPU Frequency daemonを起動中: [ OK ]
確認 †
# cat /proc/sys/cpu/0/speed 532000
低くなってる。
CPUに負荷を与えると
# cat /proc/sys/cpu/0/speed 864500
となる。
Tips †
CPUの情報を見たい †
# cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 11 model name : Intel(R) Pentium(R) III Mobile CPU 866MHz stepping : 1 cpu MHz : 865.953 cache size : 512 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse bogomips : 1723.59
自分でCPUの周波数を変更したい †
# echo -n "864500:864500:performance" > /proc/cpufreq # cat /proc/sys/cpu/0/speed 864500