自宅サーバーがときどきメモリ不足になって落ちているときがあるので、何が原因かを突き止めようとしているのですが、原因がはっきりと良く分かりません。
cronの処理のどれかでメモリ不足に陥ってるような気がするのですが。
サーバーのメモリ容量は2GBありますが、swapを設定しないまま運用していたので、念のためswapを設定することにしました。
といっても、swapを作るだけのディスクパーティションの余裕がもう無いので、/tmp用に作っていたパーティションを潰して、そこにswapを作ります。
/tmp 領域はRAID1(mirror)で5GB作っていましたが、/(root)パーティション10GBの使用率が現在5%ほどで思ったより使ってなかったので、ここに/tmpも含める形にしちゃおうかと思います。
/tmp の5GB分を、例えば3GB+2GBという風に分けて、/tmp を3GB、swapを2GBという分け方にしたかったんだけど、これらのパーティション領域が1TBディスクの最後の方であり、なぜかパーティションをうまく作れなかった(というかext3でフォーマットできなかった)ので、あきらめました。
1TBというディスクサイズの制限なのか、ディスク最後の方はいろいろと制限があるのかどうか分かりませんが、ディスクの最後の方ですから、何らかのはみだし部分があったりするのかも知れません。
あまりうまく説明できませんが、同じ1TBでも、ハードディスクメーカーによって厳密に総容量は異なることがあるので、(1MB=1024KBとするか1000KBとするかなどの違いなんだと思う)、ディスクの最後の方をケチくさく利用するのはあまり得策ではないのかも知れません。
セクタとかシリンダとかを厳密に計算すれば、あと残り使えるサイズは分かるのかも知れませんが、あまり難しいことにハマりたくないのでパス。
それにしても、物理メモリ2GBでは十分じゃないんかなぁ…メモリ増やそうかなぁ…
gnomeデスクトップ環境も立ち上げてるので、物理メモリはもう少しあった方がいいのかも知れない。
来月からWebアクセスも増えそうな気がしてるし。
行った操作はだいたいこんな感じ。環境はdebian(sqeeze)。
1. /tmp(/dev/md4)を潰すので、RAID1を削除 (ディスク使用中だとdevice busyとなるので、サーバー再起動しました。)
mdadm –manage –stop /dev/md4
mdadm –manage –remove /dev/md4
2. /etc/mdadm/mdadm.conf のmd4の記述を削除(サーバー起動時にRAIDを組まないようにする)
3. /etc/fstab のmd4の記載を削除(サーバー起動時にRAIDをマウントしないようにする)
4. /tmp パーティション(/dev/sda6,/dev/sdb6)を削除(Delete)し、この部分にswap(82)を割り当てる。
cfdisk /dev/sda6
cfdisk /dev/sdb6
5. swapの作成
mkswap /dev/sda6
mkswap /dev/sdb6
6. swapをONする
swapon /dev/sda6
swapon /dev/sdb6
7. /etc/fstab にswapの設定を入れる
/dev/sda6 none swap sw 0 0
/dev/sdb6 none swap sw 0 0
メモ:
・swapパーティションはRAIDで冗長化したり、ストライピングで高速化することはあまり意味ないらしい。
複数のswap領域が存在すれば、カーネルの機能でうまく分散させて利用してくれるみたい。
・swap領域は512Mは少なくともあった方が良いみたい。物理メモリのハイバネーション用にも利用されるため。
とはいっても、必ずしも物理容量と同じサイズをswapで用意する必要はない。うまいことサイズ圧縮してくれるらしい。
・どうしてもswap用のパーティションを用意できない場合、swapファイルを用意して、それをswapとして利用する手がある。(参考)
・swapの使用状況はfreeコマンドで確認できる。
<参考>
玄箱のswapパーティション設定 – ksaitoの日記
http://d.hatena.ne.jp/ksaito11/20070513
swapパーティションの作成 – MakiWiki
http://www.makichan.jp/home/index.php?swap%A5%D1%A1%BC%A5%C6%A5%A3%A5%B7%A5%E7%A5%F3%A4%CE%BA%EE%C0%AE
Linux Hacks:Linuxのスワップ処理を最適化するためのヒント (1/4) – ITmedia エンタープライズ
http://www.itmedia.co.jp/enterprise/articles/0712/10/news011.html
PC便利帳: Linux スワップファイルの追加
http://tipspc.blogspot.com/2008/09/linux.html