Linux Swap設定方法(CentOS 7)
AmazonLinux_CentOS,AWS,EC2,OperatingSystem
Contents
LinuxにSwap領域を追加する方法
- AWSから提供されているLinux のAMI には、Swapが設定されていません(インスタンスタイプにもよる)。
- 今回は、EC2 上に起動したCentOS 7.6 を使用します。
- Swap領域は後から容易に追加が可能なファイルの形式で追加したいと思います。
現在のファイルシステムの状態、サイズを確認する
- df -hコマンドで、ファイルを配置するファイルシステムに十分な空き容量があること。
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_root-lv_root 3.5G 2.1G 1.5G 60% /
devtmpfs 222M 0 222M 0% /dev
tmpfs 233M 0 233M 0% /dev/shm
tmpfs 233M 25M 209M 11% /run
tmpfs 233M 0 233M 0% /sys/fs/cgroup
/dev/nvme0n1p1 509M 199M 311M 40% /boot
tmpfs 47M 0 47M 0% /run/user/500
現在のSwap領域の状態を確認する
- Swap領域はTotal 0MB である。
$ free
total used free shared buff/cache available
Mem: 476248 112008 94660 24940 269580 312468
Swap: 0 0 0
Swap領域に割り当てるファイルを作成する
- 今回は1024MB(1GB)のファイルを作成する。実際はハードウェアの構成やミドルウェアの要件による。
$ sudo dd if=/dev/zero of=/swapvol bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 11.5515 s, 93.0 MB/s
パーミッションを変更する
- パーミッションは、rootのみ参照できるファイルとする。
$ ls -lh /swapvol
-rw-r--r-- 1 root root 1.0G Jul 1 23:14 /swapvol
$ sudo chmod 600 /swapvol
$ ls -lh /swapvol
-rw------- 1 root root 1.0G Jul 1 23:14 /swapvol
Swap領域の割り当てを行う
$ sudo mkswap /swapvol
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=2443d037-21b8-4597-abf0-f1cb8b3fc02c
Swap領域を有効にする
$ sudo swapon /swapvol
現在のSwap領域の状態を確認する
- 設定後、約1GBが割り当てられていることを確認する。
$ swapon -s
Filename Type Size Used Priority
/swapvol file 1048572 0 -2
$ free
total used free shared buff/cache available
Mem: 476248 78808 7516 24940 389924 346828
Swap: 1048572 0 1048572
OS再起動時にSwap領域のマウントを行うようにfstabを編集する
- /etc/fstabを編集する。バックアップを忘れずに。
$ cd /etc
$ sudo cp -p fstab fstab_20190701
$ sudo vi fstab(以下を追記する)
/swapvol swap swap defaults 0 0
$ diff fstab_20190701 fstab
12a13
> /swapvol swap swap defaults 0 0
(必要に応じて)OS再起動後もSwap領域がマウントされるかを確認する
- OS再起動が可能であれば、/etc/fstabの設定が正しいことを確認する。
$ sudo shutdown -r now
$ free
total used free shared buff/cache available
Mem: 476248 77216 210760 8564 188272 365596
Swap: 1048572 0 1048572
AmazonLinux_CentOS,AWS,EC2,OperatingSystem
Posted by takaaki