2.5GbEのNICを装着して約1ヶ月、TrueNASのバージョンが上がったせいかCronJobsで設定してたshutdownが急に動作しない、デジカメRAWのキャッシュHit前の転送速度が30MB/sほど上昇するなどいろいろありましたが、NASとしては問題なく機能しています。編集前動画や素材データのコピー、写真の編集などがとても快適です。
自作PC NAS化計画。第4回目は、TrueNASでは標準で使えないRealtek製2.5GbE NICを有効化して自作PC-NASの真の実力を発揮します。
ちょっと気になっているのが消費電力。NAS専用機ではなくPCなので、全体の消費電力はどうしても高くなってしまいます。また、電力各社の料金値上げもありエアコンの使用頻度が上がる夏に向けて出来ることならば消費電力は削りたい。
ということで、性能を維持したまま消費電力の削減をしてみました。消費電力の計測にはサンワサプライのワットモニターを使用します。
NASの消費電力を削減する方法を考えてみた
調整前の消費電力は、アイドル時80W前後、ファイル転送時100W超
まず始めに現在の消費電力がどうなっているか見てみます。
TrueNAS-PC | ReadyNAS | |
---|---|---|
電源OFF | 1.0~1.2W | 0.3~0.4W |
起動時ピークOFF | 137W | 51.1W |
アイドル時 ※起動~5分経過後 1分間 |
76.6~84.4W | 23.7~24.9W |
HDDスピンダウン後 1分間 |
67.9~69.1W | 10.2~10.4W |
ファイル転送① デジカメRAW 380個 7.7GB |
102~110W | 24.5~26.9W |
ファイル転送② MP4ファイル 1個 7.7GB |
112~116W | 24.1~25.5W |
CPUやメモリ周りの部品の違い・点数の違いや、そもそもHDDの台数が違う(ReadyNAS 3台、TrueNAS-PC 4台)こともあり単純に比較するのはどうかと思いますが、TrueNAS-PC最大値とReadyNAS最小値の比較でアイドル時約3.8倍、ファイル転送時約4.8倍にまで消費電力が増えています。
ファイル転送時だけで言えば、転送速度比がReadyNASの1/6(ファイル転送②だと、TrueNAS-PC 32秒、ReadyNAS 193秒)なので転送あたりの消費電力は減っていると言えなくもないですが、アイドル時間の方が圧倒的に長いので、こちらをなんとか削減したいところです。
削減できるところを考える
電力削減する方法としては、大きく分けて2つあるかと思います。ハードウェア(PC本体)を攻めるか、ソフトウェア(OS)を攻めるか。ひとまず考えられるものを効果が高そうなものから順番に書き起こしてみます。
- 消費電力の低い仕様のCPUやGPUに交換する
- メモリやHDDの数を減らす
- 電圧を下げる
- 周波数を下げる
- 使わない回路を止める
- 電源管理をしてシャットダウンなどをする
- OSからHDDをスピンダウンする
ハードウェアからのアプローチ
①消費電力の低い仕様のCPUやGPUに交換する ・・・ ○
当時のインテルCPUでは、TDPという熱設計電力(理論上の最大負荷に基づく電力消費)を設定しており、使用しているXeonは69Wとなっています。また、GPUにも目安となる消費電力が設定されており、補助電源を必要としない9800GTは66Wです(※これらのW数は、実際の消費電力とは異なります)。
交換するのであれば、i7 3770T(TDP45W)に入れ替えるのが一番効果が高そうです。3770Tにはグラフィック機能も内蔵されているので、グラフィックボードを外してその分も削減することが出来ます。単純に数値的には 135W → 45W となり約1/3です。とはいえ10年以上前に発売されたCPUでもあり、中古の流通量も少なく価格も高いため現実的ではありません。
CPUの交換は難しいですが、グラフィックボードの交換はどうでしょう。現行のGeforceRTX4000シリーズやRadeonRX7000シリーズは、高性能高電力なため今回の交換には向きません。ただ、グラフィックボードを使われる方の環境は様々で画面描画してくれればレイトレ機能やスーパーサンプリング機能なんていらない、という方のためのグラフィックボードも現行品として販売しています。その中でも、NVIDIAのGT710というGPUは7年ほど前から販売されていますが、消費電力19Wとかなりの省電力モデルです。ここの交換だけでも、135W → 88W と約2/3になります。
②メモリやHDDの数を減らす ・・・ △
物理的に数を減らせば、当然消費電力は減ります…とはいえ減らすということは当初の目的である【性能を維持したまま】に反するので今回は見送り。搭載メモリーが8GBx2・4GBx2の4枚で24GBなので16GBx2か32GBx1にすることもできますが、中古でも流通していなさそうです。
③電圧を下げる ・・・ ×
マザーボードの種類によって調整できる項目が異なるのですが、GA-Z77M-D3HではCPU電圧の設定はありませんでした。メモリーの電圧は調整できるようですがデータ転送時になにかしら問題が出る可能性もあるので、いじるのはやめた方がよさそうです。
④周波数を下げる ・・・ ○
ReadyNASはアイドル時もファイル転送時も消費電力に差がありませんが、TrueNAS-PCでは最大で1.5倍ほどになることがあります。CPUには負荷に合わせて周波数を切り替える機能があり、ファイル転送時に高負荷となるため動作周波数が高くなるとともに消費電力も増えます。逆にアイドル時には周波数を抑えて省電力にするという機能でもあります。であれば最初から低い周波数に固定するのもよさそうです。②と同様に【性能を維持したまま】に引っかかるかもしれませんが、ここはいろいろ探りながら調整をしていきます。
GPUの周波数調整は、Windowsだとメーカーの専用アプリで簡単に調整が出来ますがTureNAS(FreeBSD)では標準では出来なさそうです。
⑤使わない回路を止める ・・・ ○
ターボブーストは無効、省電力設定はすべて有効にし、使用するコアを4→3に設定。
TrueNASがメニーコアCPUにはあまり最適化されていないようで、ダッシュボードの表示を見ても4コア8スレッドを持て余しているように感じます。2コア4スレッドにすると、ファイル転送②が210MB/sまで落ちたので3コア6スレッドで様子を見ます。
周波数が上がらないようにターボブーストも無効にしました。
CPUにはC3やC6などのCステートと呼ばれる省電力機能があります。先ほど実働コア数を減らしたときに、同じページですべて有効化しておきました。ただ、WindwosではC3ステートなどに入りますがFreeBSDではブロックされてしまうらしく、TrueNASではC1とC2だけの対応のようです。
ソフトウェアからのアプローチ
①電源管理をしてシャットダウンなどをする ・・・ ×
24時間体制で常にどこからかアクセスされる環境ではないので、不在時や就寝時は電源OFFにしています。インストール当初は、[Tasks]→[Cron Jobs]に「shutdown -p now」と時間を設定して自動電源OFFにしていたのですが、最近は不調でうまくスケジュール通り動いてくれません。しばらくは手動で電源ONOFFを1日1回ずつの運用とすることにしました。
②OSからHDDをスピンダウンする ・・・ ××
ReadyNASではOSにHDDをスピンダウンする機能があり、HDD転送終了から5分後・10分後…などにHDDの回転を止めることが出来ます。上記のグラフにもあるように省電力にかなり貢献します。ただ、スピンダウンがHDDにはあまりよくないという意見もあるそうです。
TrueNASのベースとなったFreeBSDというOSにも同様の機能があり「camcontrol standby adax -t 300」などとするとHDDをスピンダウンして4台止めると画像のように10W以上の省電力になります。
ですが、どうも定期的に(且つ短い間隔で)HDDへのアクセスが発生しているようでスピンダウンした1分後に復帰してしまったります。仮に10分後に設定したとしてもすぐにスピンアップしてしまい、動作部に負担をかけることで寿命が短くなることも考えられるのと、スピンアップ時に消費電力が一気に増える(100Wを超える)ので今回はここはいじらないことにします。
まとめ:一番効果が高かったのはグラボ交換
調整後は、アイドル時50W、ファイル転送時75W前後まで低下
TrueNAS-PC 調整前 |
TrueNAS-PC 調整後 |
ReadyNAS | |
---|---|---|---|
電源OFF | 1.0~1.2W | 0.7~0.8W | 0.3~0.4W |
起動時ピークOFF | 137W | 111W | 51.1W |
アイドル時 ※起動~5分経過後 1分間 |
76.6~84.4W | 49.5~57.8W | 23.7~24.9W |
HDDスピンダウン後 1分間 |
67.9~69.1W | 40.5~44.9W | 10.2~10.4W |
ファイル転送① デジカメRAW 380個 7.7GB |
102~110W | 68.1~72.5W | 24.5~26.9W |
ファイル転送② MP4ファイル 1個 7.7GB |
112~116W | 73.9~77.7W | 24.1~25.5W |
起動時ピークとアイドル時で約27Wの改善、これはグラフィックボードの交換が大きく効いていると考えられます。ファイル転送時では約37Wの改善となっており、先のグラフィックボードの改善分から考えて転送時の消費電力増加量は10Wに抑えられています。ここはCPUの負荷による増加ですが、周波数変更前は最大で38W増加しており約1/4の増加量となっています。CPU周波数変更やターボブースト無効化の効果が出ているようです。全体では3割減というところでしょうか。
そもそも消費電力の高いものを交換するのが大事
PCの中ではCPUとGPU(グラフィックボード)が消費電力トップ2です。省電力化するならば、ここから交換していきましょう。とはいえ、余剰パーツを使う場合は規格が合わないこともあったりのである程度の妥協は必要かもしれません。