ぱらめでぃうす

"don" also known as "doumae" and "donz80"

未分類

自宅サーバの消費電力と電気代

LINEで送る
Pocket

節電節電という話もありますが、それはともかく家で動いているPCの消費電力を把握しておくのは悪い話ではありません。特に、24時間稼働させる自宅サーバ(家鯖)がある場合、電気料金の事を考える上でも非常に有意義でしょう。しかし、実際にそのPCがどの程度電力を消費しているか調べるのは割とめんどくさいものです。(以下、自宅サーバの話しにフォーカスしていますが、デスクトップPCでも話しは大体同じです)

サーバの仕様書には「500W電源搭載」とか「最大消費電力380W」とか書いてあるのでそれを参考にすると言う方法もありますが、残念ながらこれは「その機器の設計上供給可能な電源容量」だったり「サーバに純正オプションパーツをフル実装した場合の最大消費電力」だったりします。これらはある程度余裕を持って設定されていますので、実際にこれだけの電力消費が発生することはほとんどありません。

PCの消費電力を検討する上で考慮すべきなのは以下の3点です。

  1. 実際の構成での最高消費電力
  2. 省電力機能による消費電力の低減効果
  3. 部屋の換気(冷却)にかかる電力

1.実際の構成での最高消費電力

もっともわかりやすいのがCPU違いによる消費電力の変化です。しかし、HDDの本数や搭載しているメモリの枚数にも注意しなければなりません。なぜなら、最近のCPUはそもそもかなり低消費電力になってきているので、メモリ程度の消費電力がサーバ全体の消費電力に対して与える影響が相対的に大きくなっているためです。

自宅サーバではまず使われないので気にする必要はありませんが、ガチなサーバで使われる(使われていた)FB-DIMMというタイプのメモリモジュールの場合、一般的なデスクトップPCのメモリモジュールに比べて倍以上の電力を消費するのでこれも結構影響します。

2.省電力機能による消費電力の低減効果

最近のサーバの省電力機能は侮れません。負荷が高いときは消費電力がMAXに近くなり、負荷が低いときは消費電力がある程度下がります。どのぐらい下がるかはパーツや機種によりますが、10割~6割程度の間で変動したとしても驚きません。そもそもCPU自身にその手の省電力機能が盛り込まれていることもあって、安価なサーバに適当にLinuxをインストールしただけでも結構消費電力は変動します。

3.部屋の換気(冷却)にかかる電力

自宅サーバでこれを検討に入れる必要はあんまり無いのですが(笑)たとえば200Wのサーバが常時フル稼働しているというのは、200Wの電気ストーブをつけっぱなしにしているのと同じです。最近の気密性の高い住宅の場合は、放っておくと部屋の温度がかなり高くなってしまう可能性があります。

と言っても、実際には部屋全体の空気の量に対してサーバの発熱量がかなり小さいのと、人間が部屋に出入りする時の空気の循環などで、自然に換気(冷却)されてしまうでしょう。真夏の暑いときなどサーバのせいでエアコンをいつもより余計につけてしまうと言うことも考えられますが、それをどこまで計算に入れるかは悩ましいですね。私はほとんど無視していいレベルだと思いますが。

ただし。自宅サーバと行っても10台20台と台数が増えてくると事情が違ってくると思います。たまにベンチャー系の事業者さんで事務所の一室をサーバ部屋にしているケースを見かけますが、あそこまで行くと普段からサーバのためだけにエアコンを常時稼働することになりますので、その分の消費電力は計算に入れておくべきでしょう。

どうやって測るか

とりあえず3は無視することにして、1,2について実際の値をどうやって調べるか。一番手っ取り早いのが実測してみることです。業界では「ワットチェッカー」を使うのが定番なので、これを使うと良いでしょう。

負荷による消費電力の上下を見るためには、OSを入れただけで何もしていない状態と、ベンチマークツールなどで最大負荷をかけた状態の消費電力を見るのが良いアイデアです。これで最低消費電力と、最高消費電力を調べることができます。

負荷をかけるツールは色々あります。サーバ内のどの部分に負荷をかけるかによってもツールの選択が変わってくるのですが、

CPU
負荷によって消費電力の上下が激しい
HDD
プラッタ(円盤)が回転さえしていれば電力を消費する。シークの多少は消費電力にほとんど影響を与えない。
メモリ
ほとんど一定の消費電力

というイメージです。もちろん厳密なこと言い出せばHDDもメモリも消費電力が微妙に増減している筈なんですが、ワットチェッカーではそのレベルの増減を測れるとは思えませんので……

ということで、ツールの選択は「CPUには最大負荷を与え続ける」「HDDはプラッタが止まらない程度にちょろちょろアクセスを発生させる」ぐらいで良いかと思います。LinuxやBSDで試すのであれば、opensslのspeedコマンドがCPUにごりごり負荷を与えてくれるので便利です。(それに、大抵のサーバには標準でインストールされています)


don@hoge:~$ openssl speed
Doing md4 for 3s on 16 size blocks: 7104602 md4's in 2.99s
Doing md4 for 3s on 64 size blocks: 5398553 md4's in 2.99s
:
(省略)
:
409 bit ecdh (nistb409) 0.0026s 389.0
571 bit ecdh (nistb571) 0.0061s 163.9
don@hoge:~$

性能にもよりますが、5分~20分程度はこれでCPUが動き続けてくれます。

HDDへのアクセスは、めんどくさければopensslの出力をリダイレクトしてファイルに保存するようにすればいいでしょう。前述の通りプラッタが止まらなければいいので、あんまり気合いを入れてアクセスする必要はありません。

注意する点は以下の2点です

opensslはCPUのコア数分起動すること

たとえば、4コアのCPUであれば、opensslを4つ同時に起動させる必要があります。opensslのベンチマークはシングルプロセスシングルスレッドで動きますので、1つだけ起動させたのではCPUが全力を使い切れません。4コアのCPUを2ソケット積んでいれば、4*2の8つ起動させます

ベンチマークは30分~1時間程度継続する

これがちょっとめんどくさいのですが、より正確な測定をしたければ1時間ほどベンチマークを回しっぱなしにするのが良いでしょう。

一部のサーバを除いて、大体のサーバには冷却用のファンが搭載されていますが、このファンはCPUなどの温度に応じて回転数が制御されています。回転数が高くなると当然消費電力は多くなります。CPUにちょっと負荷をかけただけだとCPUの温度が高くならず、FANが回転しません。暫くCPUに負荷をかけ続けているとCPUの温度が高くなり、FANがそれなりに回ってくれます。最大消費電力を調べるのであれば、FANもそれなりに回っているタイミングで消費電力を見るのが適当でしょう。

メーカー製の消費電力推定ツールを使う

えー、はっきり言ってこんな測定めんどくさいです。ということで、楽する方法を紹介します。いくつかのメーカーは、サーバ系のラインナップについて構成を指定すると実際にどの程度の電力を消費するかを推定してくれるツールを用意しています。これを使うことで、単なるカタログスペックではない具体的な消費電力を調べることができます。

富士通の場合

サーバ消費電力/質量計算ツール (富士通 PRIMAGY)

私が知っている中で一番使いやすいツールを提供しているのは富士通(PRIMAGY)だと思います。

Web上で機種と構成を選択するだけで消費電力と重量が確認できます。NTT-X Storeでもおなじみの1万円前半で買える安鯖PRIMERGY MX130 S21にも対応しているので、これを見てみましょう。

CPUを標準のSempron 145で、メモリを4GB*2枚、2TBのHDDを2台内蔵して、DVD-ROMもつけた場合の消費電力は87Wと出ました。カタログ上この機種の最大消費電力は159Wですが、構成によってはそこまで電力を消費しないのです。


HPの場合

HP Power Advisor

HPの場合はHP Power Advisorという専用のツールをダウンロードしてインストールしなければならないのでちょっと面倒です。その代り、複数台の異なる構成のサーバを設置した場合の消費電力の合計を計算できたりと、ビジネス向けには便利な機能があります。

こちらもおなじみのHP ProLiant MicroServer2に対応していますので、試してみます。

同じく、CPUは標準のAthlon II Neoに、4GBのメモリ2枚、2TBのHDD2台をつけると消費電力は76.24Wと出ました。これまたカタログには150Wの電源搭載と書いてあるんですが、かなり違う値が出ています。


富士通もHPも、ツールで推定できる消費電力は「その構成での最大消費電力」です。ですので、省電力機能が働いた場合の消費電力まではわかりません。また、メーカー純正以外のオプションについても調べることはできません。

とはいえ、実際に機材を目の前にしてあれこれしなくていいというのは大変便利です。

電気料金に換算するには

次に、サーバの消費電力から電気料金に換算するわけですが、ここでも気をつけるべき点があります。ほとんどの場合、自宅サーバが24時間常に最高の負荷で稼働していることはありません。なので、消費電力*1ヶ月としてしまうと、金額が異常に高くなってしまうのです。

実際に家のサーバがどの程度の負荷で推移しているかを推定するのは難しいので、それっぽい例として毎日4時間全力運転(消費電力最大)、20時間アイドル運転(消費電力80%)と仮定してみることにします。

サーバの最大消費電力 90Wの場合

消費電力量(Wh/月) = ( 90W * 4時間 + 90W * 80% * 20時間 ) * 30日
                  = 54,000Wh (54kWh)

電力単価 25.19(円/kWh) (東京電力 第2段階料金)

電気料金(円/月) = 54kWh * 25.19円
                = 1,360円/月

と言うわけで1ヶ月の電気代に換算することができました。実際には全力運転はもっと短いと思われるので、もう少し電気代は安くなるんじゃないかなと思います。

  1. 参考: 富士通 PRIMERGY MX130 S2 wiki@nothing []
  2. 参考: HP ProLiant MicroServer(dragonkiller @ ウィキ ) []

1 コメント

  1. ピンバック: にゅーすのみっ1388

コメントは受け付けていません。