ノートPCを利用していると、バッテリー動作時の持続時間が気に掛かります。
クロックスケーリングに対応しているCPUでも、Puppyでは常に全速で動作しているようです。
OS内のモジュール・デレクトリーを見ていたら、クロックスケーリング用のモジュールもあるようなので実験してみました。
実験環境は、eeePC901(Atom N270)+Puppy4.11jp(kernel 2.6.25.16)です。
モジュールの組み込みは、/etc/rc.d/rc.local に追記しました。
コード: 全て選択
# cpu frequency-scaling
modprobe acpi-cpufreq
modprobe cpufreq_conservative
modprobe cpufreq_ondemand
modprobe cpufreq_powersave
modprobe cpufreq_userspace
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
起動時にオプション付けないとハイパースレッディングは有効にならないのかな?
CPUは1個と認識しているようです。
端末からの確認になりますが、
使用しているドライバーの確認
コード: 全て選択
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
acpi-cpufreq
コード: 全て選択
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
userspace powersave ondemand conservative performance
コード: 全て選択
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
ondemand
# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
800000
コード: 全て選択
# echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
1600000
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
1600000 1333000 1067000 800000
echo 1333000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
1333000
これらを電源管理と連動させれば良いかな?
Webのブラウジングが主体と想定して、
AC→ ondemand scaling_max_freq=1600000
バッテリー(100〜50%)→ ondemand scaling_max_freq=1600000
バッテリー(50%〜0%)→ ondemand scaling_max_freq=1333000
とでもしてみるか?
電源管理はありますか?
viewtopic.php?t=820
で紹介されていたスクリプトに組み込めばよいのかな?