直近2年ほどはメインマシンとしてDELLのノートPC xps13を使っていた。しかしメモリ8GB、CPUコア2つというスペックでは仮想マシンを起動するとパフォーマンスにかなり不満を感じるようになったのと、AMDのRyzenによるCPUの多コア戦争勃発により自作PCにかなり魅力を感じるようになってきたので作ってみた。
要件
PCに求めるものは以下の通り。
- Rails、Dockerによる開発がメイン
- 普段は長時間軽負荷 + 短時間高負荷と思われるのでIdle時を省電力に
- IntelとAMDの競争が激化し陳腐化が進みそうなので、ハイエンドよりはコストパフォーマンス重視(特にCPUとマザーボード)
- 仮想マシンを複数起動しても困らないようメモリ多め
- コンパクト
- VGA出力は4k2つ以上。そのうち少なくとも1つはHDMI
- できればHDCP対応
- WindowsなしでBIOSアップデートできること
- Linuxで運用を想定
- ギガビットLAN
PCの構成
まずCPUを選択する。 シングルスレッド性能は当面それほど必要なさそうなのでTDPは65w以下で検討。RyzenはIdle時の消費電力が低くならないようなのでパス。 これらの中からコスト・ワットパフォーマンスに優れたCPUということでCore i5を使用することにした。 他のパーツは適当に。
- 【CPU】Intel Core i5-8400 (6コア6スレッド)
- 【M/B】ASRock H370M-ITX/ac (Mini-ITX)
- 【RAM】DDR4-2666 16GB×2
- 【VGA】OnBoard
- 【Sound】OnBoard
- 【SSD】CFD販売 CSSD-S6T480NMG3V (480GB)
- 【LAN】OnBoard
- 【クーラー】リテール
- 【電源】Mini-Box picoPSU-160-XT + ATS065-P120 (65W)
OSはUbuntu 18.04。 ディスプレイ、マウス、キーボードは手持ちのものを流用。
結果
ベンチマークなどは用意していないので、わかる範囲で。
パフォーマンス
ruby-build で2.6.0-preview1 をインストールしてみた結果
$ time rbenv install 2.6.0-preview1 Downloading ruby-2.6.0-preview1.tar.bz2... -> https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.0-preview1.tar.bz2 Installing ruby-2.6.0-preview1... Installed ruby-2.6.0-preview1 to /home/masaoo/.rbenv/versions/2.6.0-preview1 real 1m54.284s user 4m10.769s sys 0m26.207s
消費電力
- 起動時は 25w ほど
- サスペンド時は 2w
- OS 起動後の Idle では 15~16w
- Ruby 2.6.0-preview1 インストール時では、一瞬 57w ほどになるもののそれ以外では 25w 程度
Ubuntu のインストール時になぜかフリーズしてしまう現象が発生したので、電力不足を疑いTurbo BoostをDisableにしたら無事完了した。 上記計測中もこの設定はそのまま。
これ以外の設定もいじればもっと省電力にできるかもしれないが、構成を考える際の参考にした5chのスレではZ370M-ITX/acの省電力設定には限界がありそうという考察もあるので難しいかも。
おわりに
費用は合計で11万円ほどだったと思う。お手頃な価格でそれなりにパワフルなPCができた。
私が自作PCに魅力を感じるのはパーツ交換の自由度が高い、削るところと集中するところを選べる(事務用PCとゲーミングPCの二択みたいなことにならない)というのもあるが、割と大きいのはLinuxをインストールしたときのトラブルが少ない、ということだろうか。 というのも以前使用していたノートPCではVGAやACPI、Wifiあたりに問題が出ることが多く、ドライバの差し替えや設定の調整などでかなり面倒な作業が必要だった。
その点今回のPCはUbuntuのインストーラで全てが問題なく動作したため、特別な設定はほとんど必要なくとても楽だった。 (SSD用の設定変更はしたがこれは自作、ノート関係なく必要なので例外とする) PCの自作なんて10数年ぶり(先代の自作機はDuron)だったのでキャッチアップがそこそこ必要だったけど、それもまた楽しかった。