CentOSに後からswapを追加する。
クラウドサービスのLinux系のテンプレートにはswapが無いようです。(2社しか試してませんが。)
例えばAzureなら、Windows Azure Linux Agentを入れていれば(VM作るときに確か選択肢があった)
/etc/waagent.conf
を編集するだけでOKだったりします。
とはいえ、他のクラウドサービスでは同様にできませんので、CentOSだけで出来る方法を一つ。
正直に言えば、パーティションを新しく作って~なんてスキルはまだ無いので、swap用のファイルを作ってさくっとswapを作ります。
手順を軽く書くと
- swap用のファイルを作成する
- mkswapでswap領域を作る
- swaponでswap領域を使える様にする
- fstabに書いて自動でマウントするようにする。
1.swap用のファイルを作成する
さて、まずはswap領域用のファイルを作成します。
この手順で作成したファイルサイズがswapのサイズになります。
dd if=/dev/zero of=/var/tmp/swap bs=1G count=4
このコマンドの例ですと/var/tmp
にswap
と言う名前の4GBのファイルを作成します。
of
には作るファイル名を指定します。
bs
には1回に書き込むバイト数を指定します(1G,1M等が使えます。)
count
で指定した回数bsで指定したバイト数を書き込みます。
ですので、例で言えば1G×4で4Gのswap用のファイルになります。
(別に4G×1でも良いのですがその分メモリを使いますので注意)
2.mkswapでswap領域を作る
お次は、mkswap
でswap領域をつくります。
コマンドを叩くだけ。
mkswap /var/tmp/swap
mkswap
に続いて、先ほど作ったファイルを指定するだけ。簡単です。
3.swaponでswap領域を使える様にする
はい、次はswapon
コマンドでmkswap
した領域を使える様にします。
swapon /var/tmp/swap
以上で、swap領域が作成されて、使える様になっています。
4.fstabに書いて自動でマウントするようにする。
3.まででswap領域が使えるのですが、再起動すると解除されてしまうので、
/etc/fstab
に書き込んで自動でマウントするようにします。
vi /etc/fstab
でfstabを開いて次の内容を追記して、保存して終了すると完了
/var/tmp/swap swap swap defaults 0 0
以上です。
この手順ならfdiskでパティション切ったりするより楽かなぁと思います。