« | Home | »

2006.12.18

Swapスペース不足

10日ほど前から、下記のログが大量に出て、Apacheが落ちる問題に悩まされていた。

swap_pager_getswapspace: failed
swap_pager_getswapspace: failed
swap_pager_getswapspace: failed
          ・
          ・

最初、ハードディスクが壊れかかっているのだろうと思い込んで、新しいHDDを買ってきたが、新しく立ち上げる間の代替機でも同じ現象が発生した。
どうも、mysqlを5.0.27に上げてからのようで、これは本当にスワップ領域が足りないのではと思い、スワップ領域を増やしたらビンゴー!!。 ぴったり安定した。
実は、古いPCで380MBほどのメモリで、色々なサービスを起動していてスワップ領域も512MBなので、mysqlを新しくして、ついに足りなくなったのだろう。
しかし、スワップ領域は最初にインストールするときに確保するが、後から増やすことなどできるのか。
どうすればよいのか? 色々と調べたら簡単に増やせることがわかった。
まず、/usrに

# dd if=/dev/zero of=/usr/SWAPFILE bs=1m count=2000

として、2GBの領域を/usrに確保。 少し時間がかかる。 そして、/etc/rc.confに次の1行を追加した。

swapfile="/usr/SWAPFILE"

これだけである。 マシーンを再起動どうなったか調べるために次のコマンドを打つ

# pstat -s
Device          1K-blocks     Used     Avail Capacity
/dev/ad0s1b        524288      120   524288      0%
/dev/md0           2048000      136  2048000     0%
Total                   2572288      256  2572032     0%

となって、最初に確保してあった512MBも加わり2.5GBのスワップ領域となった。
1週間悩み続けたのが、簡単に氷解した。

コメント

# dd if=/dev/zero of=/usr/SWAPFILE 1m count=2000
のところは
# dd if=/dev/zero of=/usr/SWAPFILE bs=1m count=2000
ではないでしょうか。

Shevekさん
ご指摘、ありがとうございました。
1m → bs=1m が正解です。

コメントフィードを購読する

コメント投稿





コメント本文に次の(X)HTMLタグを使えます:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*