zowのプログラムな日々

日々のプログラミングとか

我慢ならない

格安鯖(HP Proliant ML115G1)にLinuxMintを入れて、掃除してファン付けまくって使ってたんだけども、昨日、室温が36度の時点で落ちた。まぁさすがにこの室温だと使ってる自分も落ちかけてたんだけども、ミドルタワーというよりミニタワーレベルの筐体でいくらエアフローを気にしたところで、室温がここまで上がると焼け石に水で、どう頑張っても耐えられないらしい。

ちなみにMBAの方は起動はするけども、アームレストが爆熱になり、熱暴走っぽい現象で風車が回りっぱなしになるので使用は無理。こんなエクストリームな環境下でどうやってPC使うかを考えるってのもかなりアホなんだけども、この室温下でも動くPCもある。それは格安鯖のNEC Express5800 110gdだ。こいつにはC2Q Q6600を載せてるんだけども、昨日の室温36度の状態でも動いてた。まぁグラボを積んでないので、なんとかなってるってのもあるんだけど、それでもCPUが普通に稼働してる(コア温度が60度台で動く)のは優秀。まぁメイン鯖として使ってたのでメモリもヒートシンク付けてるし、ファンも前後2個ずつ動かしてる。なによりML115よりも筐体がでかいのでエアフロー的にはかなり有利。

ならば、いっそのことこの110gdをクライアント機にしてはどうだろうか?

と、ML115が落ちた時に思いつき、そのまま110gdの分解清掃を始めた。全ファンを綺麗に掃除して、CPUはグリス塗りなおしてヒートシンクも徹底的にホコリ除去。ML115からグラボを移植し(ちなみにグラボはnVidiaのGF8600GTSだ。こいつが爆熱源のひとつ)、OSもMintを入れてみた。

・・・が、遅い。CPUはいい。ちゃんと動いてる。グラボも液晶2枚で動かすとちょっと微妙だがちゃんと動いてる。ファンも回ってて、ちゃんと排熱してる。だがI/Oが遅い。HDDを2機載せてるんだけども(500GB+1000GB)こいつが遅いのだ。

MBAに慣れてるのでSSD速度に慣れ親しんでるってのはある。なのでHDDで動く環境で遅さを感じてしまうのはある程度は仕方ない。だが、それでも遅い。例えば、エクリプスを起動させるのに1分かかる。ちなみにMonodevelopは5秒ぐらいだ。許容範囲だろうか?だがファイル編集中にカーソル移動ももたつく。これでは開発環境としては使えない。

まず、これにはいくつか理由がある。パーティションの切り方がアホなのだ。自分でやったんだからアホもなにもなくて自業自得なんだけども、元々、この110gdはHDDを3本積んでいた。システム領域とデータ領域だ。データ領域用HDDには各種データが入ってる。そいつを/dataとかにマウントして使ってる。残り2本のHDDでシステム領域を分割していた。/と/homeと/varとスワップを2本のHDDに配分していたのだ。今回110gdをクライアント機にするにあたって、熱源を減らすために、このHDDを1本外したのだ。なので上記のディレクトリが1本のHDDに載ってしまっている。

一昔前だったらそんな構成は普通で、問題にするところじゃないんだけども、今は違う。MBASSDに慣れた体でこの構成、しかもアプリは昔よりも確実に重くなってきている。それにクライアントとして使っているということにも問題がある。作業をしながら音楽を聞いているのだ。なのでディスクIOは頻繁に発生していると思う。それを5400rpmのSATA HDDが1台でやってる。メモリは8GB積んでるのでそうそうスワップを使うことは無いと思うが、もしスワップを使う状態に陥ったら使い物にならないだろう。

で、過酷な状況でクライアントPCとして動かす方法を模索する事にした。

まず、現在の省電力メイン鯖として動いてるAtom搭載機からSSDを外す。SSDにはシステムが載ってるので、鯖環境は作りなおしになる。これは1台しかないSSDをクライアント環境で使うためには仕方ない。このSSDをクライアント環境のシステム領域として使うとして、更に問題がある。液晶が2枚あるということだ。

グラボはGF8600GTSなんだが、こいつが2枚の液晶の描画をするのに不安があるのだ。グラボのメモリは256MBで、24インチクラスの液晶を2枚表示させるには若干無理がある。しかも、110gdは鯖機で、グラボを挿せるように出来ていない。PCI-Eの4xのスロットに無理矢理挿してる。なので根本的に無理がありまくるのだ。だが、ML115PCI-Eのスロットは16xだ。グラボのスペックをフルに発揮できる。なのでML115に刺した状態の8600GTSの描画はある程度安定しているが、110gdの方だとかなり微妙だ。どんぐらい違うかというと、ML115ではフルHDyoutube動画を表示できるが、110gdに挿してるとカクカクになる。グラボは同一なのでスロット側の速度がやはり原因なんだろう。

こういった前提条件の中で、以下の解決策に行き着いた。

  • 110gdの筐体 + 110gdのマザー + SSD + 8600GTS(現行の110gdにSSDを移植するだけ)
  • 110gdの筐体 + ML115のマザー + SSD + 8600GTS(現行の110gdにML115からマザーを移植)

エアフロー的に110gdの筐体を使う以外の選択肢は無い。グラボも8600GTS以外の選択肢は無い。そうなると、8600GTSの性能をフルに発揮できるようにML115のマザーを移植するか、現行の110gdのマザーで我慢するかだ。マザーを交換すると当然CPUが変わる。ML115の方はAthlon64 X2 +5000 BEで、110gdはC2Q Q6600だ。コア数はデュアルコアクアッドコアで、当然Q6600の方が性能が良い。逆に発熱はAthlonの方が酷い。

総括すると、CPU性能を取るか、グラボ性能を取るかの2択になる。普通にクライアント環境として考えればAthlon環境でグラボをフル活用できる方がいいと思う。だが、これは開発環境だ。描画性能より演算処理性能をあげるべきなんじゃなかろうか。それに高温の環境で使うのだ。発熱が少ないC2Qの方が安全だろう。

・・・といった感じの究極にアホくさい2択で悩んでいる。根本的に涼しいとこで作業しろよって感じなんだがな・・・。