某通販サイトを覗いているとDual-CPU対応中華X79マザーボードを見つけました。メモリが安く手に入るためメモリ盛り盛り256GByte構成で1台組んでみましたのでレポートします。中古のECC付きDDR3はとても安価に手に入るので地図作成やらシミュレーションやらで大量のメモリが必要な方は如何でしょうか。
何故に今更古いX79でPCを組むのか
今回組んだPC構成は何年も前に発売されたもので(CPUは2012年発売)、手元にパーツが余っているならともかくとして普通は新しく組むPCに相応しいとは言えません。なぜそんなもので新しくPCを組もうとしたかというと、
- 型落ちXeonプロセッサの中古価格が安い
- 同じくXeon等のサーバ向けCPUでしか使えないECC付きDDR3メモリの中古価格が安い
- Xeonは大容量のメモリをサポートしている
という理由からです。
正直なところ古いCPUを使うことになるのでシングルスレッドなプログラムの速度は期待出来ません。CPUコア数が合計で16になるので並列処理で稼ぐ感じになります。
私の場合は趣味でGarminや地図アプリ向けの等高線地図データを作って公開しているのですが、その作業でPCに目一杯のメモリ(32GByte)を積んでも足りずにスワップアウトしたことがありました。そんなわけで処理速度も欲しいけどまずはメモリ容量が第一、でも予算無い・・・という私のニーズと一致しました。
PC構成
PCケース、ATX電源は以前からあるものを流用しました。マザーボードのサイズはE-ATX規格(305x330mm)のものでサイズが大きいですが、でかいクーラーがついたグラフィックボードが問題なく入るケースであれば恐らく大丈夫だと思います。
- マザーボード:Jingsha X79 Dual CPU Motherboard(起動時に"Intel E5 M2L-8D"の表示あり。BIOSは別製品のカスタム?)
- CPU:Intel Xeon E5-2689(8core/2.6GHz) x 2
- メモリ:DDR3-1600 Registered ECC 32GByte x 8
- グラフィックボード:HIS Radeon R9 280X
- ATX電源:Owltech RAIDER POWER SUPPLY(750w)
- ストレージ:
- ADATA SX6000LNP(M.2 Nvme/512GByte)
- WDC WD40EZRZ-00GXCB0(3.5inch HDD/4TByte)
- LG DVDRAM GH20N210
購入したパーツ
マザーボード:Jingsha X79 Dual CPU Motherboard
今回購入した目玉の中華マザーボードです。デュアルCPU構成のマザーボードとしては1万円ちょっとの安価なボードです。デュアルCPUですがCPU1側だけでも動作する模様。
- Jingsha X79 Dual CPU Motherboard
https://www.aliexpress.com/item/33018133003.html
このマザーボードのスペックは以下のとおりです。
- CPU Socket:LGA2011 x 2
- メモリ:ECC/non-ECC DDR3 1333/1600/1866 x8(最大256GByte)
- LAN:1000BASE-T x2
- SATA:SATA3.0x2, SATA2.0x4
- USB:USB3.0x2, USB2.0x2
- PCIe:PCIex16(x2), PCIex1(x2), NVMe x1
- 内蔵Audio:あり
- 内蔵GPU:無し
ご覧のように内蔵GPUが無いのでグラフィックボードは必須です。サーバ用途であれば適当に余っているグラフィックボードを挿しておけばよさそうです。今回は以前のPCで使っていたものを流用することにしました。SATAは2ポートだけSATA3.0対応で残りはSATA2.0です。HDDを繋ぐならSATA2.0でもなんら問題ないので個人的にはあまり気になりません。PCIe接続のNVMeも1ポートあります。
注意点として、
- このマザーボードはCPUが2個載るのでEPS12Vコネクタも2個あります。普通のATX電源はEPS12Vコネクタが1個しか無いと思いますので変換コネクタを用意しておく必要があります。
- x79及びXeonはDDR3でクアッドチャンネル対応ですが、このマザーボードはデュアルチャンネルまでしか対応していません(あとから気づきました・・・)
また、CMOSバックアップ用のコイン電池(CR2032)は付属していないので別途用意しておく必要があります。
CPU:Xeon E5-2689(v1)
マザーボードのCPUソケットがLGA2011ということで、CPUはXeon E5-2689(v1)の中古品を2個購入しました。8コアのCPUですがかなりお安いです。TDPが少し高くなりますがE5-2690でもいいかもしれません。
- CPU:Intel Xeon E5-2689
https://www.aliexpress.com/item/33025954802.html
マザーボードとしてはXeon E5-2690(v2)でも使えるらしいです。今回、私はCPUをAliexpressで購入しましたが、ヤフオクで探してみるともっと安価な中古品があるかもしれません。興味のあるかたはE5-2689やE5-2690で検索してみてください(v2はちょっと高くなるようです)。
CPUクーラー
サイドフローのCPUクーラーを2個購入しました。ファンの数は1〜3個まで選べますが、今回のマザーボードだとファンを2個以上つけると干渉して装着出来ません。家にCPUクーラーが余っている人はそれでいいかも(Athlonのとかが使えるらしい)。
- CPUクーラー:High quality 4PIN CPU cooler 115X 1366 2011,6 heatpipe dual-tower cooling 9cm fan,support Intel AMD
https://www.aliexpress.com/item/32838876258.html
メモリ:ECC Registered DDR3(256GByte)
今回の目玉であるメモリです。張り込んで32GByte x 8 = 256GByteを購入しました。
- ECC Registered DDR3 1600MHz 32GByte x8 (5000円 x 8)
https://www.aliexpress.com/item/32825680566.html
無印E5-2689のサポートメモリはDDR3です。普通のPCで使用するnon-ECCなメモリだと1枚あたり8GByteまでしかありませんが、ECC付きだと32GByteまであります。ECC付きメモリはサーバ向けCPUしか対応していない(=使えない)ため、型落ちのDDR3だと中古がかなり安いようです。購入したメモリのラベルにはオリジナルブランドっぽいシールが貼ってありますが、基板の隅っこやSPDを見るとメーカは”Samsung”になっていました。。。まぁ、中古メモリですしね。
ちなみに、本当に動作するかちょっと不安だったのでまず32GByte2枚購入して問題ないことを確認してから追加で6枚購入して256GByte構成としました。
SSD:ADATA SX6000LNP(512GByte)
せっかくマザーボードにNVMeスロットがあるのでADATAの512GByteのやつを購入してみました。ちょっとトラブルはありましたが最終的には問題なくブートしてくれています。また、個人的な意見ですが、HDDやSSDなどのストレージに関してはAliexpressより価格.comでいい感じのを探したほうがいいかと思います。
- ADATA XPG SX6000 Lite
PC組み立て
パーツの取り付け
ケースは以前のものを流用するつもりで購入しませんでしたが、購入したマザーボードはE-ATXだったので本当に入るのかちょっと不安でした。いざいれてみると問題なく入りましたが、基板サイズが大きいのでコネクタ類が挿入しづらい箇所があります。特にSATAコネクタがPCIeスロットと干渉するのを防ぐためかLアングルになっていてケーブルがかなり挿しづらかったです。また、電源ケーブル類が以前は余裕を持ってMB裏側を通して接続出来たのですが、今回はコネクタまでの距離が伸びたので表を這わさざるをえない箇所がありました。
CPU&CPUクーラーの取り付けは問題ありませんでしたが、メモリとのクリアランスがぎりぎりでした。固定金具がメモリに当たるようであればCPUクーラーの位置を微調整すればいけると思います。あるいはヤスってクーラーの固定金具を少し削るか。
NVMeスロットはPCIeスロットの丁度間にあるので、グラフィックボードを上のPCIeスロットに挿すとNVMe被さって触れなくなります。
EPS12V変換コネクタを作る
前項でも書きましたが、Dual-CPUなのでEPS12Vコネクタも2個必要になります。一般的なATX電源にはEPS12Vコネクタは1個だけしか無いので変換コネクタが必要になります。おとなしくATX4pin to EPS12V変換ケーブルを買うのが手っ取り早いでしょう。
私の場合、グラボ用のPCIE電源ケーブルが2本余っていてこれを活用したかったのでPCIE電源->EPS12V変換ケーブルをつくりました。が、これが後々のトラブルの原因になりました。いらんことはするなということでしょうか。どうもPCIEtoEPS12V電源コネクタというのは需要が無いようで(グラボ二枚挿しはあってもCPUx2はあまりない)、安い延長ケーブルを真ん中から切断して繋いでつくったのですが。。。
最終的には動作するようになりましたが、言えることは既成品を使うにしても自作するにしても十分な太さのあるケーブルを使用するべし、ということです。
電源投入する
いつもこの瞬間が緊張します。きちんと組んだつもりですが動いてくれよー
最初にメモリテストをしているのか、画面が表示されるまで時間がかかります。特にメモリモジュールを8枚全て挿した状態だと20秒ちょっと要しました。こんなに表示されるまで時間がかかるのは初めてだったので、最初は、え、何かミスった?と嫌な汗がでました。
BIOS設定
無事にモニタに出力されたらBIOS設定画面から必要な設定を行います。といっても、基本的には何も変更しなくても動作しました。個人的に気になったECCのエラー訂正に関する箇所だけ変更しています。
- HyperThreading : Disable(用途的に恩恵は無さそうなのでDisableにしました)
- Demand Polish:Enable(メモリアクセス時でエラーを発見した場合に訂正する機能。Disableにすると読み出された値はエラー訂正されるがメモリ上の値は訂正されない。2bit以上化けると訂正不可になるのでEnableの方がいいと思います)
- Patrol Polish:Disable(CPUがアクセスしていないときにエラーが無いか確認する機能。電力消費が増えるらしいのでDisableにしています)
OSのインストール
OSはUbuntu19.10をインストールしました。LTS版の20.xが出たら再インストールかな。インストールイメージはあらかじめUSBメモリに書き込んでおいたのでそこからBootしました。こちらは問題なく動作さてくれました。
memtest86でメモリーテストを行う
念の為、メモリーテストも行いました。使用したのはお馴染みのmemtest86です(ちなみによく似た名前の”memtest86+”はUEFI未対応なため使えませんでした)。このツールをUSBに書き込んでbootしました。実は最初はメモリエラーが出てあせったのですが、最終的にはHammerTest以外なら問題なくPassしてくれるようになりました。
- memtest86 - PassMark Software
https://www.memtest86.com/download.htm
発生したトラブルについて
実はこのPCを組むに当たって色々と問題が発生していました。私のポカミスも含めて記載しておきます。
SSD(NVMe)が認識しない
せっかく購入したSSD(NVMe)ですが、なんと認識されないことがありました。当然ながらOSは立ち上がりません。電源On/Offを繰り返すと認識するのですが最初は原因が分からず四苦八苦しました。現象としては、
- 電源投入時にSSD(NVMe)を認識しないことがある。
- 認識していても、BIOS画面にはいってから抜けると認識しなくなる。
結論からいうと、前者はCPU2側のEPS12Vコネクタに自作変換ケーブルを使っていたのが原因でした。使用していたケーブルの銅線が細すぎたのがまずかったらしく電源投入時の動作が不安定になっていたのかな。後者は解決しなかったので、BIOSで設定変更したあとは一旦電源Off->Onするようにしました。
自作EPS12Vケーブルが燃えた
実は最初に作ったPCIe電源->EPS12V変換コネクタですが、高負荷の処理を長時間させた際に発熱して焦げてしまいました。部屋中に焦げ臭い香りがしてヤバイと思ってPCをシャットダウンし中身を確認してみるとケーブルの皮膜が溶けて銅線がむき出しになっています。コネクタも溶けて一部が溶着してしまいました。
原因は自作するのに安いEPS12V延長ケーブルを購入したのですが、これの銅線がむちゃくちゃ細かったのです。そのときは取り敢えず動作確認が出来ればいいやと思ってそのまま使ってしまい負荷がかかっていないときは問題なかったので放ったらかしにしたのが大失敗でした。下手をすると火災の原因になってしまいます。
結局、初代変換ケーブルはおじゃんになってしまったので家のジャンク箱にあったATX12Vコネクタを使ってケーブルを作り直しました。ピン数は半分になってしまいますが、どのみちコネクタが溶着した際にピンの1本が塞がってしまいEPS12Vコネクタだと挿すことが出来ません。1回失敗しているだけに電流容量が心配でしたが高負荷をかけても熱々にはならず問題なく動作してくれました。前項のSSDが認識しない問題もケーブル交換後に改善しました。これならはじめからATX電源のEPS12Vコネクタを半分づつCPU1/CPU2に接続すれば良かったかもしれません。
PS/2キーボードが認識しない
SSDに続いてPS/2キーボードが認識しないことがあります。こちらは原因不明ですが一旦リセットすれば復活してくれるのでまぁいいかなと放置しています。起動時にキーボードのNumLockが点灯しない場合は認識していません。リセットすれば認識してくれる模様。
メモリエラーが発生する
組んだ直後にmemtest86でメモリーテストを行った際に"ECC Corectable Error"が発生しました。Test13:HammerTestは大容量DDR3メモリだとエラーが発生しうるらしいのですが(金融や長時間可動させる科学技術計算用途などでは問題ですが個人用途ならあまり気にしなくていいらしい)、その他のTest9とかでもエラーが発生していました。エラー訂正可能な1bitエラーとはいえこれは問題です。
メモリの速度を落としたり色々と試しましたが、どうやらCPU2側にあるメモリの電源ICが指で触れないくらい高温になってくるとメモリエラーが発生するようです。余っているファンでCPU2側メモリの電源周辺に風を送ってやるとメモリエラーが発生しなくなりました。
MEI関連でエラーが出る
OS起動時にMEI関連でエラーが発生することがありました。
[ 4.783637] mei_me 0000:00:16.0: wait hw ready failed
[ 4.783684] mei_me 0000:00:16.0: hw_start failed ret = -62
[ 4.783704] mei_me 0000:00:16.0: H_RST is set = 0x80000015
...
[ 6.799648] mei_me 0000:00:16.0: wait hw ready failed
[ 6.799657] mei_me 0000:00:16.0: hw_start failed ret = -62
[ 6.799667] mei_me 0000:00:16.0: H_RST is set = 0x80000015
[ 8.815616] mei_me 0000:00:16.0: wait hw ready failed
[ 8.815620] mei_me 0000:00:16.0: hw_start failed ret = -62
[ 8.815624] mei_me 0000:00:16.0: reset: reached maximal consecutive resets: disabling the device
[ 8.815625] mei_me 0000:00:16.0: reset failed ret = -19
[ 8.815626] mei_me 0000:00:16.0: link layer initialization failed.
[ 8.815627] mei_me 0000:00:16.0: init hw failure.
[ 8.815666] mei_me 0000:00:16.0: initialization failed.
調べてみると、MEIとはどうも遠隔マネージメント用のモジュールのようです。さすがサーバ用マザーボード、こんなものもあるんですね。
MEIを使うと遠隔PowerOn/Offやモニタリングが出来るらしいのですが、目下のところは使用しないのでMEIを無効にすることで対処することにします。具体的には以下のようにmei_meモジュールをロードしないように指定しました。
$ sudo sh -c "echo 'blacklist mei_me' >> /etc/modprobe.d/blacklist-mei.conf"
組んでから思ったこと
その時の勢いで組んでしまいましたが、後になってこうしとけば、とかこれに対応していれば・・・と思ったことがあります。
メモリがクアッドチャンネルに非対応
検討時点で良く調べておらずDual構成のXeonだから当然クアッドチャンネルに対応してるだろうと決めつけて購入してしまい、結果としてデュアルチャンネルまでの対応でした。DDR3はDDR4に比べて遅いけどクアッドチャンネルだからある程度補えるだとうと考えていただけに結構がっくりしました。EATXサイズのマザーボードでクアッドチャンネル対応のものはCPUの両サイドにメモリスロットがあるはずです。もしクアッドチャンネル対応のが欲しい場合は、少し値段が上がりますが別なマザーボードがEATXサイズであったのに・・・orz
Sleep(S3)に未対応
普段の使い方の問題なのですが、私はデスクトップでもSleepを多用していました。食事に席を立ったりするのに電源をいれっぱなしはちょっと電気代がもったいなく感じますが、わざわざシャットダウンするのも面倒(ブラウザで開いている内容とかそのままにしておきたい)というとき重宝していました。が、残念ながら今回組んだマザーボードだとSleep出来ません。BIOSの設定画面を見てもどうやら未対応のようです。まぁ、確かにサーバでSleepなんて使わないでしょう。
HDDにメモリ内容を退避させるハイバネーションは可能ですが、メモリ256GByteも積んじゃったしなぁ。
CPU2の温度がCPU1より高くなる/電源ICが熱々になる
当たり前といえば当たり前なのですがデュアルCPU構成でサイドフローのCPUクーラーを使った場合、向きによっては一方のクーラーで温まった空気がもう一方を直撃します。そうならないようにCPUクーラーを90度ねじって設置出来ればいいのですが、今回のマザーボードだと金具が当たってしまい無理でした。
また、CPU周辺にある電源ICはかなり発熱します。特にCPU2のメモリ上側にある電源ICは熱の逃げ場が少ないせいかかなり熱くなるようでメモリテスト時のエラーの原因になっていました。それを考えるとサイドフローよりもトップフローのCPUクーラーのほうが良かったかもしれません。
所感
取り敢えず、大容量メモリのPC環境を手に入れることが出来ました。試しにそのへんのプログラムをmakeしてみると今までと比べてかなり早くなりました。古いとはいえ16コアあると違いますね。地図の作成にも期待が持てます。その反面、シングルスレッド性能はあまりよろしくないようでXでGUIアプリを立ち上げがもっさりとしています。
ただ、安いとは言っても自作PC1台分くらいのお金はかかっていますので、安さを求めるならヤフオクでHPやDELLの1U/2Uの中古サーバを狙ったほうがよさそうです。そちらなら電源やストレージも全部ついて5万円もしないで購入出来そうでした(ただ、ファンの音が煩そうなので寝室には置けないかも)。
参考
この記事は以下のサイトの内容を参考にさせていただきました。
- mie_me ってのがたくさん出ている。これは何? - Ubuntu日本語フォーラム
https://forums.ubuntulinux.jp/viewtopic.php?id=17673 - mei_meのエラーが続く件はなんとかなった - UbuntuやWordPress等を使ってみるテスト
https://laetzsch4438.wordpress.com/2014/08/11/mei_me%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E7%B6%9A%E3%81%8F%E4%BB%B6%E3%81%AF%E3%81%AA%E3%82%93%E3%81%A8%E3%81%8B%E3%81%AA%E3%81%A3%E3%81%9F/ - Intel(R) Management Engine Interface (Intel(R) MEI) - kernel.org
https://www.kernel.org/doc/Documentation/misc-devices/mei/mei.txt - 付録A BIOS POST情報 - HITACHI JP1/ServerConductor/Blade Server Manager系 システム管理者ガイド
http://itdoc.hitachi.co.jp/manuals/3020/30203L5290/BSM0525.HTM
中華LGA2011マザーのX79はフェイクでB75とかを無理やりチップセットにして仕立てているので色々使えない機能がありますね・・
INTELの仕様的にDMIの先はチップセットの制限が厳密に決められているわけではないようです。
失礼致しました。Amazonで日本のラズベリーパイを販売している林遠です。
ブログを拝見しました。弊社のラズベリーパイレビューブログ記事を書きしてくれませんか。
こちらは無料でサンプルを提供します。
連絡メールはjp02@vertue.cnです。
御返事お待ちしております。どうぞよろしくお願いします。
こんにちは~ ナチと申します
先週、メインPCが逝ってしまいまして デュアルXeonが夢だったので検索したらめちゃ有能(笑)なココを見つけたので拝見させて貰っています。
質問が有るのですが、お使いになっているCPUクーラで負荷100%時の温度はどれくらいでしょうか?
マザボのサイズも教えていただけると有難いです!
よろしくお願いします
返信遅くなりました。
負荷100%となった時の温度ですが、冬場で70度前半まで上がっていました。夏場はうろ覚えですが80度くらいまでいっていたような・・・。
ただ、これは私がサイドフローのCPUクーラーを使っているせいなのでトップフローのやつを使えばもう少し下がるかもしれません。前方にあるCPU0の熱風を後方にあるCPU1がそのまま吸い込んでしまっているので10度くらい温度差が出来ています。
マザーボードはE-ATXサイズ(305mm x 330mm?)だったと思います。
返信ありがとうございます!
このマザー+XeonE5-2696V2(予算の都合でソケットが余った状態のシングル)で組んでみました
クーラーは虎徹ですけど冷えてる印象...12コアなので100%になることは滅多にありませんね(笑)
ベンチ台だから冷えてるのかもしれませんが例の↑クーラーを購入してみようかと思いますっ!
情報提供ありがとうございました。
面白かったです
見た目一緒なのに中がすごい細い…ってのはあるあるですねー
参考にならない。