swap領域の設定の仕方
以下を参考にswap領域の設定を行ったのでメモしておきます。
https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04
使用するOSはubuntuです。
swap領域の確認
swap領域の確認の仕方で一般的なのは、swaponとfreeコマンドです。
$ swapon -s
で以下のようにヘッダーだけが返ってくるようであれば、swap領域は設定されていないことになります。
$ swapon -s Filename Type Size Used Priority
また、$ free -m
でswap領域の大きさを確認できます。
$ free -m total used free shared buffers cached Mem: 3953 154 3799 0 8 83 -/+ buffers/cache: 62 3890 Swap: 0 0 0
ROM領域の確認
次に、swap領域を割り当てるROMの空き容量を確認しておきます。
一番簡単なのはdf
コマンドですかね。
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/vda 59G 1.3G 55G 3% / none 4.0K 0 4.0K 0% /sys/fs/cgroup udev 2.0G 12K 2.0G 1% /dev tmpfs 396M 312K 396M 1% /run none 5.0M 0 5.0M 0% /run/lock none 2.0G 0 2.0G 0% /run/shm none 100M 0 100M 0% /run/user
ということで上の例だと、あと55GBは使えそうなので大丈夫そうですね。
今回は、そのうちの4GBをswap領域として確保しておく設定にしてみます。
swap領域の確保
fallocate
が一番簡単にできそうです。
/swapfile
というファイルを作成することで、swap領域を確保します。以下のようにすれば/
にswapfileを作成してくれます。
$ sudo fallocate -l 4G /swapfile
lsで確認してみます。hオプション便利。
$ ls -lh / | grep swapfile -rw-r--r-- 1 root root 4.0G Apr 28 17:19 /swapfile
あセキュリティのため権限をrootの書き込み、読み込みだけにしておきます。
$ sudo chmod 600 /swapfile
これであとは、swap領域の設定をしてあげればおけです。まずはswap領域の作成。さきほどのファイルをswap領域として作成します。
$ sudo mkswap /swapfile Setting up swapspace version 1, size = 4194300 KiB no label, UUID=e2f1e9cf-c0a9-4ed4-b8ab-714b8a7d6944
そしたら次にさきほどのswap領域を使用可能にしてやる必要があります。
$ sudo swapon /swapfile
これでswap領域の設定がおわりました。確認してみます。
$ sudo swapon -s Filename Type Size Used Priority /swapfile file 4194300 0 -1
あとは、rebootしたときにもswapがenableになるように設定してやれば完了です。
$ sudo vi /etc/fstab # 最後の行に追加 /swapfile none swap sw 0 0
追記
EC2の場合は以下を参考にして、900MB確保してみました。運用しながら調整してみようかなと思います。