SWAPの残が0kB!

相変わらずちょくちょくオチるマイサーバ。
ロードアベレージが87.xxを記録するなど、どう考えてもどっかにトラブルが起こってるでしょ!?というような、満身創痍の状態でも健気に稼働しつづけてくれていますが、やっぱりちょくちょくオチられるのは困りもの。

ロードアベレージに関しては、httpsdとmysqldを止めると一気に1.00未満に下がることから、BLOGサーバを走らせていることによって、捌ききれない処理を抱え込んでしまうようです。
・・・ケースを交換する自体になるまでは、そんなことはなかったのに(反応が鈍いのは日常茶飯事でしたが)。

まさかこの二つのサービスを停止する訳にはいきません。第一、ロードアベレージに関しては、都度httpsdを立ち上げなおしたりして低い値に持っていくことは(なんとか)できてましたし、ある程度(さすがに87.xxでは無理ですが)の数値なら、しばらく待つことで表示はされますから我慢できます。

問題は、まったく反応がなくなってしまうこと。つまり、サーバがオチてしまうこと。
一体なんで・・・と思っていたら、昨日(29日)も案の定反応がなくなってしまいました。
幸い帰宅して物理的に接続している出力デバイスで確認して見たところ、延々エラーメッセージが吐き出されていました。
そのメッセージをみると、なんとSWAPの残が0kBだよー、というエラー。

そう、仮想領域であるSWAP領域を使いきってしまったために、メモリ上のデータを退避させることができず、固まってしまっていたのです。
これを解決する方法は、二つ。

一つはもちろんメインメモリの拡充。
現在のメモリは256MB。GB単位ですらありません。こいつを、上限の1GB(1,000MB)、つまり現在の4倍まで広げることで、SWAPさせないようにする、という方法。
ちなみにDNRH-001のマザーボードであるEPIAは、DDR400(PC3200)をサポートし、その上限が1GBということでした。
さすがに新品のDDR400を調達しようとは思いません・・・(っていうか、新品なんて調達できるのか?)。

そしてもう一つの方法は、SWAP領域を広くとること。これはシステムディスク(Windowsで言うところのCドライブ、Linuxでのhda)自体をより大容量のものに換装して可処分領域を広げ、SWAPにより大きな領域を割り当てるようにします。
さもなくば、SWAP用にディスクを増設し、マウントしなおすとか?

SWAPが発生するとどうしてもスループットが下がりますから、さしあたって一つ目の方法を検討中です。近日中にはメモリ倍増計画が発動される・・・はずなんですが、はてさて、どうなりますでしょうか(笑)

0

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)