スワップ領域をファイルで追加した

この自宅サーバー、Atomなのでメモリー2GBと32GBのSSDで構築した。
OSインストール時に(そのときはあえて)スワップ領域を作らなかった。
SSDなのでスワップ領域を作ることで頻繁なファイルアクセスをさせて寿命を短くさせたくなかったからだ。

日々監視していて別段メモリーを使い切る状態が見られたわけではないのだが、どうしてもMySQLあたりのパフォーマンスアップができないので、無駄なあがきかと思ったけどスワップ領域を追加してみた。すでにSSDにパーティーションは追加できないのでファイルをスワップ領域として使うことにする。
以下はメモ。(作業はroot権限)

最初に ディレクトリ /swap を作成した。別にルートに直接ファイルを置いてもいいけど美意識の問題である。


1.空のファイルを作成
dd if=/dev/zero of=/swap/swap.data bs=1M count=4000

bs=は単位指定 count= で作成サイズなので 4000 は約4GBのファイルとなる。
bs=1G とできるはずだけど、うちでは何故かメモリーを使い切りましたというエラーだったので1M単位とした。

2.ファイルをスワップ化する
mkswap /swap/swap.data

3.スワップを有効にする
swapon /swap/swap.data

4.fstabに登録して起動時に有効化する
/swap/swap.data swap    swap    defaults        0       0