IDCFクラウドのマシンは初期状態ではswap領域が作られていない?ので後からswap領域を足してみたのでメモ。
下の画像はMackerelで描画されるMemoryの部分の切り抜き。
Mackerelのグラフをグリグリ動かしたいがためにswap領域を足したわけではない(嘘
ddコマンドでswap用ファイルを作成する
ddコマンドでswap領域に割り当てるためのファイルを作成します。
この例では中身が0で埋めつくされた2048MBのファイルが作られます。
swapに使うファイルのパーミッションは600じゃないと怒られるので変更しておきましょう。
# dd if=/dev/zero of=/swapfile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 4.0704 s, 264 MB/s
# chmod 600 /swapfile
ddコマンドの使い方
# dd if=/dev/zero of=作成するファイル名 bs=ブロックサイズ(byte) count=ブロック数
ddコマンドはifで指定したファイルをofで指定したファイルへ、bsに指定された入出力ブロックサイズ単位でcountに指定された回数コピーを実行するコマンドです。
ブロックサイズXブロック数のサイズのファイルが作成されます。
ifに/dev/zeroを指定しているのでof`で指定したファイルの中身はすべて0``で埋めつくされたファイルとなります。
mkswapコマンドでswap領域を作成する
mkswapコマンドでswap領域を作成します。
指定したパーティション全てをswap領域とすることもできるし、ファイルをswap領域とすることもできます。
今回は/swapfileをswap領域として使用しますので、以下のコマンドを実行します。
# mkswap /swapfile
swaponコマンドでswap領域を有効にする
mkswapコマンドで作成したswap領域を有効にするため、以下のコマンドを実行します。
# swapon /swapfile
ここで作成したswap領域がswap領域としてOSに認識されているかfreeコマンドで確認してみましょう。
root@gealach:~# free
             total       used       free     shared    buffers     cached
Mem:       1017556     941860      75696       8792      22400     757880
-/+ buffers/cache:     161580     855976
Swap:      2097148          0    2097148
上記のように認識されていればOK!
swap領域の自動マウント
作成したswap領域が、OSの再起動時も自動的にマウントされるようにするため、/etc/fstabへ以下のように記述します。
# vim /etc/fstab
---
#
# Use \'blkid\' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
#                
# / was on /dev/sda1 during installation
UUID=f49b42ef-478b-4512-a0b2-19ecdc7095a0 /               ext4    errors=remount-ro 0       1
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/fd0        /media/floppy0  auto        rw,user,noauto  0       0
/swapfile       swap            swap        defaults        0       0  ←追記
      
念のため再起動してみて、swap領域が自動マウントされれば設定はおしまい。
Mackerelのグラフもこの通り。

