2009年11月20日

【CentOS5.4】CPUSpeed起動でPentium4機を節電省エネ化

 サーバ管理をしたことがある方ならお判りと思うが、サーバ機というものは、更新の度に消費電力が劇的に増加している。また、空調でピンピンに冷やせる環境に設置出来れば幸せだが、夏場やお天道様の開けっ広げの部屋に設置していようものなら、冷却ファンがメイッパイ唸りを上げて稼働し部屋を温めてくれる。

 サーバ管理者をしていた時はCPU能力確保がまだ大切だったので、積極的にCPUクロックを管理して迄、省エネに努めようとは思わなかったが、自宅サーバになると(夏場でも冷房は入れないし設置場所は自然空調日差良好な健康的環境)、やはり常時通電だと気になる。そこで、CentOS5.4のサービス設定を見て試ると、cpuspeedが有るではないか、でも何故か動いていない。

 そこで、ググっ使い方を調べて試た。CPUクロックの制御で消費電力を減らす仕組みはNotePCでは、Windows機でも当り前だが、Desktop機になるとOSに機能がないことから、その存在すら知られていない。でも、Pentium4であれば機能するもの(Intel SpeedStep® テクノロジーに対応分)もある様で、/etc/cpuspeed.confにちゃんと設定すれば「自己責任」で利用可能になりそうである。まあ、確証がない限りイチかバチかで壊れることを覚悟しての実行だが、SpeedStep テクノロジ(第1世代)はPentium3頃から入っている可能性があり、Pentium 4-M移行は第2世代、AMD社製の多段階可変には、拡張版 Intel SpeedStep からの対応の様で、対応時期は知らないが、Intel社のPentium4の頁でも「拡張版 Intel SpeedStep® テクノロジーに対応したインテル Pentium 4 プロセッサーでは...」と対応分があることを記述している。因みに、当方のFMV-L22D/Mの分は、2.26GHzなので、WikipediaのPentium4の頁にある分類では「Northwood(ノースウッド)」の世代にあることが判る。


 他方、その設定としては、まとめると次の4つを記入すれば取敢えず動作する様だった。 最初のdriverについては、予めCPUを調べ合うものを指定し、調整方法として「GOVERNOR=」をondemand, conservative, powersave, performance の中から選択指定すると共に、MAX_SPEEDとMIN_SPEEDをkHz単位の整数で指定する訳だ。

  1. DRIVER=p4-clockmod
  2. GOVERNOR=conservative
  3. MAX_SPEED=2258000
  4. MIN_SPEED=100000


 そこで、/etc/cpuspeed.confを探すがCentOS5.4には存在しない。find / -name cpuspeed で調べて試ると「/etc/sysconfig/cpuspeed」として存在することが判ったので、
「cp /etc/sysconfig/cpuspeed /etc/cpuspeed.conf」して編集し
「/etc/init.d/cpuspeed restart」として試たが変化がない。で、仕方がないので「/etc/sysconfig/cpuspeed」を編集して「/etc/init.d/cpuspeed restart」と無事起動し、クロック周波数が変動することをKDEシステムガード上で確認出来た。目出度し目出度し。これでファンの音もNotePC並に低減出来たので、もし、来年の夏迄使っていたら、涼しい夏になるものと思う。でも今日は冷えてるなあ。温風ヒータ代わりに元に戻そうかな(笑)。
     /etc/sysconfig/cpuspeed - emacsで編集


# /etc/cpuspeed.conf
#
# This configuration file controls the behavior of both the
# cpuspeed daemon and various cpufreq modules.

### DRIVER ###
# Your CPUFreq driver module
# Note that many drivers are now built-in, rather than built as modules,
# so its usually best not to specify one. The most commonly-needed driver
# module these days is 'p4-clockmod'.
# default value: empty (auto-detect/use built-in)
DRIVER=p4-clockmod

### GOVERNOR ###
# Which scaling governor to use
# Valid scaling governors for your cpu(s) can be found in
# /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_governors
# on systems that support frequency scaling.
# NOTES:
# - The GOVERNOR parameter is only valid on centrino and powernow-k8 (amd64)
# platforms, other platforms that support frequency scaling always use
# the 'userspace' governor.
# - Using the 'userspace' governor will trigger the cpuspeed daemon to run,
# which provides said user-space frequency scaling.
# default value: empty (defaults to ondemand)
GOVERNOR=conservative

### FREQUENCIES ###
# NOTE: valid max/min frequencies for your cpu(s) can be found in
# /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies
# on systems that support frequency scaling.
# maximum speed to scale up to
# default value: empty (use cpu reported maximum)
MAX_SPEED=2258000
# minimum speed to scale down to
# default value: empty (use cpu reported minimum)
MIN_SPEED=100000

### SCALING THRESHOLDS ###
# Busy percentage threshold over which to scale up to max frequency
# default value: empty (use governor default)
UP_THRESHOLD=
# Busy percentage threshold under which to scale frequency down
# default value: empty (use governor default)
DOWN_THRESHOLD=

### NICE PROCESS HANDLING ###
# Let background (nice) processes speed up the cpu
# default value: 0 (background process usage can speed up cpu)
# alternate value: 1 (background processes will be ignored)
IGNORE_NICE=0

 尚、調整方法として「on_demand」も試してみたが余りにもCPU利用に対し敏感に変動するので省エネ効果を主眼に置くなら意味がなさそうだったので、採用しなかった。以下、参考迄、KDEシステムガードの画面コピーを添付しておく。ondemandでは極めて頻繁に切替わる為、自宅サーバはconservative設定に変更conservativeでもCPU使用率が上昇すると一気にクロック数が上昇するのので自宅サーバにとっては問題ない
 単純に、クロック数比(12.55%)が消費電力と同じとするなら、アイドル状態が多くなるサーバの消費電力を白熱球からLED照明に替えた程度の効果はあると言うことかな。まあ、CPU以外にマザーボード、ストレージ等、それに電源装置とそのファンの消費電力もあるのでまだすべきことは少なくない。後、HDD回転停止位はありそうなので、情報が整い次第やって試るつもりだ。





     cpuspeedサービス実行前のCPU情報


[root@localhost etc]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 2.26GHz
stepping : 7
cpu MHz : 2257.651
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 mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe up cid xtpr
bogomips : 4515.30

[root@localhost etc]#
     cpuspeedサービス実行後のCPU情報


[root@localhost etc]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 2.26GHz
stepping : 7
cpu MHz : 283.326
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 mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe up cid xtpr
bogomips : 4515.30

[root@localhost etc]#



 あっ、そうそう、このCPU周波数制御って、恐らくNTPdにとは困った仕組みではないかと思う。今のところrestartさせてから見る限り、機能してはいるけど精度を追及するなら何処かで固定がいいのだろうね。



remote refid st t when poll reach delay offset jitter
==============================================================================
www.4koma.com 133.243.238.244 2 u 73h 512 0 43.667 1.681 0.000
219-75-253-70.e 192.168.0.5 4 u 73h 512 0 39.559 -2.611 0.000
203.141.148.250 210.171.225.75 3 u 73h 512 0 65.009 2.864 0.000
*LOCAL(0) .LOCL. 10 l 24 64 377 0.000 0.000 0.001
[root@localhost etc]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
www.4koma.com 133.243.238.244 2 u 75h 512 0 43.667 1.681 0.000
219-75-253-70.e 192.168.0.5 4 u 75h 512 0 39.559 -2.611 0.000
203.141.148.250 210.171.225.75 3 u 75h 512 0 65.009 2.864 0.000
*LOCAL(0) .LOCL. 10 l 27 64 377 0.000 0.000 0.001
[root@localhost etc]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
www.4koma.com 133.243.238.244 2 u 75h 512 0 43.667 1.681 0.000
219-75-253-70.e 192.168.0.5 4 u 75h 512 0 39.559 -2.611 0.000
203.141.148.250 210.171.225.75 3 u 75h 512 0 65.009 2.864 0.000
*LOCAL(0) .LOCL. 10 l 47 64 377 0.000 0.000 0.001
[root@localhost etc]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
203.141.148.250 210.173.160.27 3 u 10 64 1 63.074 204.139 0.008
219x123x70x90.a 219.123.70.94 2 u 9 64 1 30.609 200.563 0.008
server03.chimon 210.188.224.14 2 u 9 64 1 36.053 203.776 0.008
LOCAL(0) .LOCL. 10 l 8 64 1 0.000 0.000 0.008
[root@localhost etc]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
203.141.148.250 210.173.160.27 3 u 16 64 1 63.074 204.139 0.008
219x123x70x90.a 219.123.70.94 2 u 15 64 1 30.609 200.563 0.008
server03.chimon 210.188.224.14 2 u 14 64 1 36.053 203.776 0.008
LOCAL(0) .LOCL. 10 l 13 64 1 0.000 0.000 0.008
[root@localhost etc]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
203.141.148.250 210.173.160.27 3 u 21 64 1 63.074 204.139 0.008
219x123x70x90.a 219.123.70.94 2 u 20 64 1 30.609 200.563 0.008
server03.chimon 210.188.224.14 2 u 19 64 1 36.053 203.776 0.008
LOCAL(0) .LOCL. 10 l 18 64 1 0.000 0.000 0.008
[root@localhost etc]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
203.141.148.250 210.173.160.27 3 u 20 64 7 63.074 204.139 2.120
219x123x70x90.a 219.123.70.94 2 u 18 64 7 30.489 200.896 0.431
server03.chimon 210.188.224.14 2 u 18 64 7 36.053 203.776 1.405
LOCAL(0) .LOCL. 10 l 17 64 7 0.000 0.000 0.008
[root@localhost etc]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
203.141.148.250 210.173.160.27 3 u 33 64 7 63.074 204.139 2.120
219x123x70x90.a 219.123.70.94 2 u 31 64 7 30.489 200.896 0.431
server03.chimon 210.188.224.14 2 u 31 64 7 36.053 203.776 1.405
LOCAL(0) .LOCL. 10 l 30 64 7 0.000 0.000 0.008
[root@localhost etc]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+203.141.148.250 210.173.160.87 3 u 58 64 77 63.074 204.139 4.146
+219x123x70x90.a 219.123.70.94 2 u 54 64 77 29.997 200.741 0.488
*server03.chimon 210.188.224.14 2 u 58 64 77 36.053 203.776 1.192
LOCAL(0) .LOCL. 10 l 52 64 77 0.000 0.000 0.008
[root@localhost etc]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+203.141.148.250 210.173.160.87 3 u 1 64 177 63.074 204.139 3.880
+219x123x70x90.a 219.123.70.94 2 u 62 64 77 29.997 200.741 0.488
*server03.chimon 210.188.224.14 2 u - 64 177 36.053 203.776 1.316
LOCAL(0) .LOCL. 10 l 60 64 77 0.000 0.000 0.008
[root@localhost etc]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+203.141.148.250 210.173.160.87 3 u 8 64 177 63.074 204.139 3.880
+219x123x70x90.a 219.123.70.94 2 u 6 64 177 29.997 200.741 3.237
*server03.chimon 210.188.224.14 2 u 7 64 177 36.053 203.776 1.316
LOCAL(0) .LOCL. 10 l 3 64 177 0.000 0.000 0.008
[root@localhost etc]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+203.141.148.250 210.173.160.87 3 u 15 64 177 63.074 204.139 3.880
+219x123x70x90.a 219.123.70.94 2 u 13 64 177 29.997 200.741 3.237
*server03.chimon 210.188.224.14 2 u 14 64 177 36.053 203.776 1.316
LOCAL(0) .LOCL. 10 l 10 64 177 0.000 0.000 0.008
<中略>
[root@localhost etc]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+203.141.148.250 210.173.160.27 3 u 278 1024 377 76.492 1.747 47.828
*219x123x70x90.a 219.123.70.94 2 u 536 1024 377 35.598 -3.116 3.258
+server03.chimon 210.188.224.14 2 u 449 1024 377 38.695 2.774 1.405
LOCAL(0) .LOCL. 10 l 58 64 377 0.000 0.000 0.008
[root@localhost etc]#


2009-11-22追記
 設定ファイルの所在については、この次の最新版CPUSpeed1.5(日本語)にある通り、今では/etc直下でなくなっている様である。この辺、RPMパッケージでの利用だと手元に情報がなく迷ってしまう。尚、当方が今回CentOS5.4で利用しているものはcpuspeed-1.2.1-8.el5.i386.rpmだ。パッケージはRHEL5と同じなので基本的に古めで枯れた安定動作するものが選ばれている訳だ。アップデート情報を調べて試ると、2007年から5回のアップデートで、対応CPUを増やしたり、不具合の解消が行なわれて来ていることが判った。そうだった。CentOS5/RHEL5のUpdate情報は、Red Hat Enterprise Linux(v.5 server) アップデート情報で確認していたんだったよな。
http://blog.seesaa.jp/pages/my/blog/article/edit/input?confirmed=1&id=133472361#whereis_CPUSpeed_conf_file
http://www.jp.redhat.com/support/errata/RHEA/RHEA-2009-0098J.html
http://www.jp.redhat.com/support/errata/RHEA/RHEA-2008-0317J.html
http://www.jp.redhat.com/support/errata/RHEA/RHEA-2007-0609J.html




CPUSpeed関係記事


  • 【CentOS5.4】cpuspeed起動でPentium4機を省エネ化
  • cpuspeed-1.5(日本語訳)
  • 「cat /proc/cpuinfo」の情報、よく判らん
  • CPU周波数ステップは/sys/devices/system/cpu/cpu?/cpufreq/で



     CPUSpeedは、CPU負荷に見合う動作周波数にステップすることで、無駄な電力消費と発熱を低減する目的に有用なツールです。地球温暖化防止の為のCO2排出枠を考えなければならなくなった今日にあっては、インタラクティブな用途のLinuxサーバーやLinuxPCには必須のツールでしょう。対応CPUは一般にNotePC用と思われているきらいがありますが、当方のFMV-L22D/M内のデスクトップCPU用のPentium4でも対応していた訳で、広く利用検討して頂きたいものである。
     尚、使用感としては、アイドル時に付加を掛けると確かに最初は反応が遅いことは否めないのは事実だ。しかし、それは用途により設定で低減可能である。
posted by Mire at 23:25 | Comment(0) | TrackBack(0) | Linux | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/133472361
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
月額見放題1,000円開始キャンペーンバナー(画像ありver)
紺碧の艦隊 ルパン三世 GREAT CHASE クリックプロモーション
<< 2013年01月 >>
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
カテゴリ
タグクラウド
ファン
利用中のオープンソース
最近のコメント
最近の記事
過去ログ
QRコード
レガシーなアプリはいかが?
Dell 法人のお客様ページ
  • 【法人様向け】デル、お得なキャンペーン情報
  • 法人のお客様向け ストレージソリューション
  • 法人のお客様向け ネットワークソリューション
  • 【SOHO法人様向け】デル・オンライン広告限定ページ
  • デル-個人のお客様ページ
  • 【個人のお客様向け】デル・オンライン広告限定ページ
  • オンライン広告限定キャンペーンページ
  • ソフトウェア&周辺機器 パソコン工房
    ツートップインターネットショップ(twotop.co.jp) マウスコンピューター/G-Tune
  • ×

    この広告は1年以上新しい記事の投稿がないブログに表示されております。