2006.12.18
Swapスペース不足・・・(FreeBSD)
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
ではないでしょうか。
Posted at 2007.05.2 10:50 PM by Shevek
Shevekさん
ご指摘、ありがとうございました。
1m → bs=1m が正解です。
Posted at 2007.06.4 10:29 PM by Naka