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のグラフもこの通り。