TOP >
Redhat系Linux > CPUの速度を動的に変えてみる
CPUの速度を動的に変えてみる
更新日:2006-07-11 うまく印刷できないときは…
●実行環境:WhiteBoxEL4
インストール/設定するもの:Kernel
IntelのSpeedStep,AMDのPowerNow等のCPUの速度を切り替えるしくみはLinuxでもサポートされています。
ここではKernel-2.6.12.2をつかってやってみました。
まずはKernelを再構築します。(WBEL4だとそのままでもモジュールをロードするところからでも大丈夫なようです)
Power management option → CPU Frequency scaling内
| CPU Frequency scaling | Y or M |
| powersave governor | Y or M |
| userspace governor for userspace frequency | Y or M |
| ondemand cpufreq policy governor | Y or M |
| conservative cpufreq governor | Y or M |
| Intel Enhanced SpeedStep | Y or M |
自分のつかっている機械に合わせて選択しておきます。
Pentium-M,Core Duo(Centrino Duo),CoreSoloの場合はEnhanced SpeedStepでよいようです。ただし、Core Duo(Centrino Duo),Core Soloの場合にはACPI周りも設定が必要なので「カーネルの再構築」も見ておいてください。
カーネルをコンパイルして再起動します。
#
make ; make install ; make modules ; make modules_install ; depmod -a
切り替えの出来る周波数やモードはは以下のようにして確認できます。
#
less /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies(周波数)
#
less /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors(モード)
周波数やモードを切り替える場合は各ファイルにかきこみます。
#
echo 1600000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed(周波数)
#
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_governor(モード)
モードによる違いは以下のとおり
| performance | 最大のパワーで固定 |
| powersave | 最小のパワーで固定 |
| userspace | 手動で設定。これにすることによってscaling_setspeedがでます |
| ondemand | CPUの負荷に応じて設定。下がるときは段階的に下がります |
| conservative | ondemandとは違い、CPU負荷に応じて段階的に上下します |
CPUの速度を動的に変えてみる について質問する
TOP > Redhat系Linux > CPUの速度を動的に変えてみる