FreeBSDのpowerdの効能とパフォーマンス測定

FreeBSDで電力管理デーモンpowerdを使うとマシンの消費電力を抑える事ができる。

CPU Xeon E3-1260L
M/B MSI Z77A-GD65
メモリ DDR3-1333 8GBx2 + 4GBx2 = 24GB (1.5Vモジュールを1.35V駆動)
GPU CPU内蔵(HD Graphics 2000)
HDD システム:2.5“ 1TB x2
データ:3.5” 3TB x7(スピンダウン状態
PCIe SD-PESA3-2L (88SE9123/SATA3 2ポート増設)
ファン CPUx1 + フロントx2 + リアx1
電源 KRPW-PT600W/92+ REV2.0 (ATX/600W/80PLUS Platinum)
OS FreeBSD 9.2-RELEASE-p12

BIOSではオンボードサウンドを無効化したり、iGPUの電圧を下げたりと極力省電力になるように設定。

消費電力に関係ありそうな設定は以下の通り。

loader.conf
cpufreq_load="YES"
kern.hz=100
hint.acpi_throttle.0.disabled=1
hw.pci.do_power_nodriver=3
 
drm.i915.enable_rc6=7
hw.snd.latency=7
hint.pcm.0.buffersize=65536
hint.pcm.1.buffersize=65536
rc.conf
powerd_enable="YES"
powerd_flags="-a adp -n adp"
performance_cx_lowest="Cmax"
economy_cx_lowest="Cmax"
powerdのmode アイドル時
消費電力
Ubench
スコア 消費電力
CPU MEM CPU MEM
無効 36 482237 308444 52 53
max 36 482512 320058 52 55
hadp 35 483033 321674 52 55
adp 35 477990 305036 51 53
min 35 198390 59107 42 39

powerdのmodeの違いはCPUスロットリング1)の差なので、本来は消費電力の変化量を見ないと意味がないが、計測機器が無いのでピーク値でご勘弁。また、3.5インチHDD 7台がスピンダウンした状態の値なのでご留意頂きたい。それらが稼働中は概ね+35Wといったところ。

powerdを有効にせずとも、かなりの省電力性が発揮されていたのが予想外だった。

高負荷時の消費電力はminが最低だが、性能も激烈に低下している。アイドル時の消費電力は他と大差ない上、性能の下がり方が半端ないので正直微妙なモードである。実体験でもCeleron N2820のような低負荷時の最低クロックが低いCPU(N2820では66MHz)なんかだと、負荷をかけても中々クロックが上がらず、またすぐに最低クロックまで落ちてしまい、体感でも分かるほどにパフォーマンスが悲惨な事になる。そのようなCPUでminを使うなら、-nオプションで最低クロックを指定した方が良い。


1)
負荷変動にCPUをどれだけ追従させるか
  • freebsd/powerd_efficacy_and_performance.txt
  • 最終更新: 2019-02-07 00:56
  • by Decomo