GCEでswap領域を作成

AWSやGCP(GCE)などのクラウドサーバーにはswap領域がありません。そこでswap領域を作りたいと思います

インスタンス詳細

  • f1-micro
  • オレゴン: us-west1-c
  • ストレージ:20GB
  • OS:ロッキーLinux

確認

[macan@always-free ~]$ free -m
total used free shared buff/cache available
Mem: 557 214 79 3 263 263
Swap: 0 0 0

見事にないです

swap領域について

swap領域はメモリの倍ぐらい用意するのが一般的みたいです。今回はメモリは614Mですが2GB用意しようと思います。

swap領域作成

2GBのswapを作成

[macan@always-free ~]$ 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, 1.67252 s, 1.3 GB/s

所有権を変更

sudo chmod 600 /swapfile

/swapfileをSWAP領域に設定

[macan@always-free ~]$ sudo mkswap /swapfile
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=b646581a-d8e5-4f5a-93ef-886b9b98e5e3

/swapfile をSWAP領域として有効化

sudo swapon /swapfile

確認

[macan@always-free ~]$ free -m
total used free shared buff/cache available
Mem: 557 211 33 3 313 262
Swap: 2047 0 2047

無事にできました。このままでは再起動すると消えてしまうので再起動してもいいように自動でマウントするようにします

sudo vi /etc/fstab
/swapfile swap swap defaults 0 0

これで完了です。

まとめ

RedHat系で今回試しました。問題なくできました