概要
EC2インスタンスはメモリが増えるほど高価になるので、とりあえずswap領域を追加してしのぐ方法。
環境
- Amazon EC2
- インスタンスタイプ:t3a.micro
- メモリ:1GiB
- Amazon Linux 2023
- OS:Amazon Linux 2023.4.20240401
手順
基本的には公式の情報通りやっていきます。
1. 容量の確認
free
で現在のメモリ容量とdf
でディスク容量を確認します。
$ free -h
total used free shared buff/cache available
Mem: 909Mi 666Mi 51Mi 3.0Mi 191Mi 117Mi
Swap: 0B 0B 0B
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 455M 0 455M 0% /dev/shm
tmpfs 182M 448K 182M 1% /run
/dev/nvme0n1p1 16G 2.3G 14G 15% /
tmpfs 455M 3.3M 452M 1% /tmp
/dev/nvme0n1p128 10M 1.3M 8.7M 13% /boot/efi
tmpfs 91M 0 91M 0% /run/user/1000
2. swapファイルの作成
swapファイルを作成します。RHEL9の情報を見るとRAMの容量が2GB以下の場合、推奨されるスワップ領域はRAM容量の2倍なので、1MB×2048=2GB追加します。
$ sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 15.2433 s, 141 MB/s
3. 権限変更とセットアップ
$ sudo chmod 600 /swapfile
$ sudo mkswap /swapfile
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=6170d152-687a-4dce-9562-b46920ecc4c2
4. swapファイルを有効化する
$ sudo swapon /swapfile
$ sudo swapon -s
Filename Type Size Used Priority
/swapfile file 2097148 0 -2
5. 再起動してもswapファイルを自動で有効化
/etc/fstab
の末尾に追記します。これをやらないと再起動時にswapfileが認識されなくなるのでお忘れなく。
$ sudo vi /etc/fstab
/swapfile swap swap defaults 0 0
6. 確認
free
でswapが2GB確保されていることを確認できます。ちなみにdf
で見るとディスクの使用量が2.3G→4.3Gになっていて2GB増えているのが確認できます。
$ free -h
total used free shared buff/cache available
Mem: 909Mi 660Mi 56Mi 3.0Mi 191Mi 126Mi
Swap: 2.0Gi 0.0Ki 2.0Gi
$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 455M 0 455M 0% /dev/shm
tmpfs 182M 448K 182M 1% /run
/dev/nvme0n1p1 16G 4.3G 12G 27% /
tmpfs 455M 3.3M 452M 1% /tmp
/dev/nvme0n1p128 10M 1.3M 8.7M 13% /boot/efi
tmpfs 91M 0 91M 0% /run/user/1000