CPUfreqを利用して微妙に節電

一ヶ月のガスの使用量は1㎥か2㎥。水道料金は基本料だけで抑えて暮らしていますが、電気代だけはどうしようもありません。
そんな極貧暮らしが多少楽になるネタを仕事中に見つけました。

CPUfreqを利用してspeed stepをよりユーザの意図した通りに刻んで節電する方法です。

必要なパッケージをインストールしてから、デーモンを一つ動かすだけです。

sudo aptitude install cpufreqd cpufrequtils
sudo /etc/init.d/cpufreqd start

これでcpufreq-infoコマンドで統計を見ることができるようになります。

$ sudo cpufreq-info                                                                                                                                                                                         
cpufrequtils 007: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 1.60 GHz - 2.39 GHz
  available frequency steps: 2.39 GHz, 1.60 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 2.39 GHz and 2.39 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 2.39 GHz (asserted by call to hardware).
  cpufreq stats: 2.39 GHz:24.38%, 1.60 GHz:75.62%  (6118618)
analyzing CPU 1:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1
  CPUs which need to have their frequency coordinated by software: 1
  maximum transition latency: 10.0 us.
  hardware limits: 1.60 GHz - 2.39 GHz
  available frequency steps: 2.39 GHz, 1.60 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 2.39 GHz and 2.39 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 2.39 GHz (asserted by call to hardware).
  cpufreq stats: 2.39 GHz:25.84%, 1.60 GHz:74.16%  (7899714)

このように動作クロックの割合など見れて便利です。
自宅のサーバは普段仕事をしていないので、少しでもケチるためにondemandからpowersaveに変更します。

変更は面倒なのでそのままパラメータを投げてしまいました。

# echo powersave > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# echo powersave > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor

powersaveはondemandよりクロックの回復が遅いみたいです。とはいっても自宅サーバのCore2 Duo E6600は2段階しかspeed stepしてくれないので効果は薄そうですが。
i7 870との比較です。

# E6600
$ sudo cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies                                                                                                                                        
2394000 1596000

# i7 870
$ sudo cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
2934000 2933000 2800000 2667000 2533000 2400000 2267000 2133000 2000000 1867000 1733000 1600000 1467000 1333000 120000

家のサーバの電源が落とせないため、実際の効果は職場の検証機を使って暇なときにやってみようと思います。

コメントを残す

メールアドレスが公開されることはありません。


*