🎞️
swapサイズ変更手順(ファイル割当)
swap領域のサイズを変更する手順を示す。
方法としてはサイズ変更可能なファイルシステムを使用したり新たな領域を切り出すやりかたもあるが、ここでは手軽なファイルを用いた方法を示す。
現状確認
まず現在のswapの状態を確認しておく。
# cat /etc/fstab
:
# <file system> <mount point> <type> <options> <dump> <pass>
:
UUID=1b99e04e-eb3c-4201-a3c5-a1dc34731b61 swap swap defaults 0 0
:
# swapon -s
Filename Type Size Used Priority
/dev/sda3 partition 3864572 277048 -1
# free -m
total used free shared buffers cached
Mem: 3637 3410 227 209 876 799
-/+ buffers/cache: 1734 1902
Swap: 3773 286 3487
# egrep -i '(^mem|^swap)' /proc/meminfo
MemTotal: 3725008 kB
MemFree: 113668 kB
SwapCached: 12356 kB
SwapTotal: 3864572 kB
SwapFree: 3563500 kB
swapファイル作成
通常のファイルをswapファイルとして設定する。ここでは400MBのファイルを作成する。
# dd if=/dev/zero of=/var/tmp/swap400m bs=1M count=400
400+0 records in
400+0 records out
419430400 bytes (419 MB) copied, 1.97258 s, 213 MB/s
# ls -lh /var/tmp/swap400m
-rw-r--r-- 1 root root 400M Nov 12 22:56 /var/tmp/swap400m
# mkswap /var/tmp/swap400m
Setting up swapspace version 1, size = 409596 KiB
no label, UUID=e9d8a4e6-b352-4e0d-97cb-67f0b3bdcce3
swap割り当て解除
現状のswapの割り当てを解除する。割当元のデバイスを削除するわけではないので再度割り当て直せば利用できる。
# swapoff -a
# swapon -s
Filename Type Size Used Priority
# free -m
total used free shared buffers cached
Mem: 3637 3483 154 214 775 789
-/+ buffers/cache: 1918 1719
Swap: 0 0 0
# egrep -i '(^mem|^swap)' /proc/meminfo
MemTotal: 3725008 kB
MemFree: 157524 kB
SwapCached: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
swap割り当て
先ほど作成したswapファイルをswapに割り当てる。これでswapのサイズが変わる。
# swapon /var/tmp/swap400m
# swapon -s
Filename Type Size Used Priority
/var/tmp/swap400m file 409596 0 -1
# free -m
total used free shared buffers cached
Mem: 3637 3492 144 213 776 794
-/+ buffers/cache: 1922 1715
Swap: 399 0 399
# egrep -i '(^mem|^swap)' /proc/meminfo
MemTotal: 3725008 kB
MemFree: 145972 kB
SwapCached: 0 kB
SwapTotal: 409596 kB
SwapFree: 409596 kB
設定戻し
上記設定を戻すのは簡単で、いったんswapoff -aコマンドでswap割り当てを解除してswapon
-aコマンドで元々のswapデバイスを割り当て直せばよい。不要となったswapファイルは削除してよい。
# swapoff -a
# swapon -a
# rm /var/tmp/swap400m
Discussion