ZCR/bLOG


[PC] Out of swap space

2006年09月14日 21時 更新

仕事場のファイルサーバのメンテをやってたら、Out of swap space でメンテのプロセスがコケてしまった。「今どきスワップ領域不足なんて」とお思いでしょうが、かなり旧いマシンなのである。CPU 230MHz メモリ64MB・・・(^^;)

コケたのは、ruby のビルドである。コンパイルはマトモに終了するのだが、その後の処理でスワップを使い始め、ついに領域を喰いつぶして死んでしまうのだ。その領域はというと、メモリ64MBだから、その2倍の128MB。もちろん、今まではこのようなことは無かった。

今どきのサーバってのはメモリ最低でも256MBって感じだよな。だから、まさかスワップ領域が128MBしかないなんて誰も想定しない・・・いや、ホントは想定しないわけない。けれど、あえて128MBではコケるように作ってしまうという場合もあるわな。

というわけで、とりあえずコケないようにするには、スワップ領域を拡げるしかない。(メモリ増設・・・CPUを考えてみてくれ。不可能だろ?)

拡げる方法は2とおりある。一つ目は、物理的にHDDを増設してスワップ・パーティションを設定する方法。もう一つはvnデヴァイスを作り、任意のファイルをスワップ・ファイルにしてしまう方法。

現在、自分の管理しているサーバは2台ある(インターネットには晒してない)ので、それぞれ違う方法でスワップ領域を拡げ、再度rubyのビルドに挑戦してみたら、「Generating RI」のところで一見停まってしまったかのように反応が無くなってしまった。しかし、プロセスは生きていて、スワップしまくりながらもビルドは続行してるのである。スワップの嵐だが、負荷は大きくはなく、2台ともちゃんとサーバとして動いて仕事をこなしている。

で、丸一日経っても終わらない。一説によると2日かかるとか。ま、そのうち終わるでしょう。

まぁ、メモリ64Mサーバの時代は終焉をむかえたということなのでしょうなぁ。FreeBSD4系列もそろそろサポート終了するし、マシン変えろと・・・・(^^;)

9/14追記: けっきょく、vnデヴァイスで対応したマシン(350MHz)は、丸2日と12時間、外付けSCSI-HDDにスワップ領域を作ったマシン(230MHz)は、丸1日と11時間でビルド完了した。

やはり、別ディスクコントローラ+別HDDにスワップ領域を設定した方がはるかに高速のようである。

メモリ64Mサーバの時代・・・と書いたが、もちろん、業務用のほとんどのサーバは最低でも512MB程度は積んでいると思われる。zcr.jpのWebサーバは256MBだが、それだけヒマなサーバだからこれで済んでるわけで・・・(^^;)

Tada/JA7KPI : 2006年09月13日(水)

«Up & Downは疲れる 最新 オール秋田コンテスト (追記)»
編集