マシンの消費電力を計測してみた
ZabbixにIPMI監視を設定して消費電力を調べてみる。
マシンはXeon 6140のデュアルソケット、100GbEのNICが2枚、10GbEのNICが1枚、RDIMMが24枚、SAS HBAが1枚、SATAのSSDが4本くらい入った構成だ。電源は1200Wの電源が入っている。
負荷を掛けていないときのマシン全体の消費電力は大体273W、内訳がCPUが108W、メモリが52W、FANグループが2個あってそれぞれ20Wずつ、HDDバックプレーンが10Wで、その他が63Wという感じだ。
負荷を掛けたときにどれだけ消費電力が増えるかLinpackやIperfを回してみる。
CPUとメモリに負荷を掛けた場合
まずはCPUとメモリに負荷を掛けるベンチマークのLinpack。2ソケで合計36個のコアが使用率100%になる。
マシン全体で最大525W消費したようだ。負荷がないときが273Wだったので約250W消費電力が増えている。
Linpack実行中の消費電力の内訳が下記グラフでわかる。CPUの消費電力は最大で280Wに到達したようで、これはXeon 6140仕様の上限値だ。(TDP 140W)
まとめると、Linpack実行中はマシン全体で252W消費電力が増え、その95%がCPUとメモリの消費電力増、またそれらを冷却するためのファンが回転速度を上昇させて増加した消費電力だったことが分かる。
無負荷時 | Linpack実行時 | 差分 | |
---|---|---|---|
マシン全体の消費電力 | 273W | 525W | 252W |
CPU | 108W | 280W | 172W |
メモリ | 52W | 105W | 53W |
BP | 10W | 10W | 0W |
Fan | 40W | 54W | 14W |
その他 | 63W | 76W | 13W |
ネットワークに負荷を掛けた場合
つぎはネットワークのスループット性能を測定するiperf。100GbE NICを最初は1枚、次に2枚回す。グラフではわかりづらくなってしまったが、両方とも90%超の性能が出ている。CPU負荷も抑えられているが、1枚あたり5%強程度には負荷がかかっている。
1枚だけの時のマシンの最大消費電力は340W強、2枚の時は最大で392W消費したようだ。
消費電力の内訳をまとめると下記のような表になるので、iperfを実行するとNICの消費電力がそれぞれ7~8Wずつ増えていると考えて良さそうだ。
無負荷 | 1枚実行 | 2枚実行 | |
---|---|---|---|
マシン全体の消費電力 | 273W | 340W | 392W |
CPU | 108W | 154W | 190W |
メモリ | 52W | 65W | 74W |
BP | 10W | 10W | 10W |
Fan | 40W | 40W | 40W |
その他 | 63W | 71W | 78W |
CPUとメモリとNICの全てに同時に負荷を掛けた場合
つぎはLinpackとiperfを同時に回してみる。最初にLinpackを実行して1分後にiperfを開始し、2分間実行する。最後の1分弱は再びLinpackだけとなる。
Linpackとiperfを同時に実行している間はCPUが100%に届かないのが分かる。また、iperfも2枚のNICに対して動じ実行しているのに合計スループットが120Gbps前後しかでない時間帯が多いことが分かる。
電力消費を見てみると、Linpackを単独で回したときの最大525Wとあまり差がない最大532Wという結果になった。
iperfだけを回したときにNICの消費電力が1枚あたり7~8Wずつ増えていることが分かったが、Linpack単独で実行した結果としてはNIC 1枚分の7Wしか増えていない。要するに消費電力の変化はCPUとメモリが大きいのだ。また、CPUがLinpackで忙しく、NICの処理が十分にできなかったということもあるかもしれない。
このマシンには1200Wの電源が入っているので、半分も使えていないことになる。
このマシンにはHDD/SSDが全部で26本させる。26本インストールして全てに対してFIOを実行したら理屈上は最大であと130Wくらい消費できそうだが、これもNICと同様に他のベンチマークと同時に実行すると最大性能は出せずに消費電力も最大にはならないだろう。機会があったら試してみる。