Swap領域のサイズを増やす方法

Linux

AWSのEC2インスタンス(Amazon Linux)に対して、スワップファイルを作成して、Swap領域のサイズを512MBに増やす手順

# dd if=/dev/zero of=/swapfile1 bs=1M count=512
# chmod 600 /swapfile1
# mkswap /swapfile1
# swapon /swapfile1

対象環境

対象環境はAWSのEC2インスタンス(Amazon Linux)
 

t2.microで作成したEC2インスタンス(Amazon Linux)のデフォルトのSwap領域サイズ

[root@XXXXX]# grep Mem /proc/meminfo
[root@XXXXX]# grep Swap /proc/meminfo
[root@XXXXX]# free

Amazon Linuxにスワップファイルを作成してSwap領域のサイズを増やす手順

(1)「AWS Management Console」->「EC2」->「Launch Instance」でEC2インスタンス(Amazon Linux)を作成し、ec2-userでsshログイン
(2) rootユーザにスイッチ

[ec2-user@XXXXX]$ sudo su -
[root@XXXXX]#
[root@XXXXX]# uname -a
[root@XXXXX]#

(3) スワップファイルを作成
・Swap領域に追加するスワップファイルを作成します。以下の例では、512MBのスワップファイルを作成しています。

[root@XXXXX]# dd if=/dev/zero of=/swapfile1 bs=1M count=512

・スワップファイルが作成された事を確認

[root@XXXXX]# ll /swapfile1

・作成したスワップファイルのパーミッションを644か600に変更

[root@XXXXX]# chmod 600 /swapfile1

・作成したスワップファイルをSwap領域用にフォーマット

[root@XXXXX]# mkswap /swapfile1

・Swap領域サイズを増やす前の状態を確認します。以下のように何も表示されない事を確認

[root@XXXXX]# swapon -s

(4) スワップファイルを有効化してSwap領域のサイズを増やす
・スワップファイルを有効化してSwap領域のサイズを増やす

# swapon /swapfile1

・Swap領域のサイズが増えた事を確認

# swapon -s
# free
# grep Swap /proc/meminfo

スワップファイルを削除してSwap領域のサイズを元に戻す手順

(5) スワップファイルを無効化してSwap領域のサイズを元に戻す
・Swap領域のスワップファイル名を確認。例では/swapfile1がスワップファイル名になる

# swapon -s

・スワップファイル(/swapfile1)を無効化します。

# swapoff /swapfile1

・Swap領域のサイズが0になり、swapon -sコマンドの結果が何も表示されない事を確認

# swapon -s
# free
# grep Swap /proc/meminfo

・スワップファイルを削除

# ll /swapfile1
# rm -f /swapfile1
# ll /swapfile1
ls: cannot access /swapfile1: No such file or directory

起動時、自動的にスワップファイルを有効化

reboot時、自動的にスワップファイルを有効化して、Swap領域のサイズを増やすには以下のように設定
(6) /etc/fstabにスワップファイルをマウントする設定を追加
・スワップファイルを作成して、Swap領域のサイズを増やしている状態まで設定

# swapon -s

・/etc/fstabにスワップファイルをマウントする設定を追加

# cp -p /etc/fstab /etc/fstab.ORG
# echo "/swapfile1  swap        swap    defaults        0   0" >> /etc/fstab
# cat /etc/fstab
#
LABEL=/     /           ext4    defaults,noatime  1   1
tmpfs       /dev/shm    tmpfs   defaults        0   0
devpts      /dev/pts    devpts  gid=5,mode=620  0   0
sysfs       /sys        sysfs   defaults        0   0
proc        /proc       proc    defaults        0   0
/swapfile1  swap        swap    defaults        0   0
[root@example-amazon-linux ~]#

・Amazon Linuxインスタンスをリブート

[root@example-amazon-linux ~]# reboot

・Amazon Linuxインスタンス起動後、スワップファイルが有効化され、Swap領域サイズが増えている事を確認

$ sudo su -
# swapon -s
# free
# grep Swap /proc/meminfo

2つ以上のスワップファイルを作成

(7) 1つ目のスワップファイル(/swapfile1)を作成

# dd if=/dev/zero of=/swapfile1 bs=1M count=512
# chmod 600 /swapfile1
# mkswap /swapfile1
# swapon /swapfile1

(8) 2つ目のスワップファイル(/swapfile2)を作成

# dd if=/dev/zero of=/swapfile2 bs=1M count=512
# chmod 600 /swapfile2
# mkswap /swapfile2
# swapon /swapfile2

(9) 2つのスワップファイルがSwap領域に追加されている事を確認

# swapon -s
# free
# grep Swap /proc/meminfo

 

元ネタ
https://qiita.com/na0AaooQ/items/278a11ed905995bd16af

タイトルとURLをコピーしました