vpsでサーバのswap領域を作成する。
概要
vpsはSwap領域が作られていないケースがあります。Swap領域を確保して、メモリの枯渇に備えます。
環境
- Ubuntu 24.04
- 4GBメモリ/80GBディスクのインスタンスを利用
さっくりとした手順
- 現在のメモリとディスク容量を確認します。
- Swap領域を確保します。
- 確保したSwap領域を有効化します。
- Swap領域が増えたことを確認します。
- fstabを修正します。
- fstab修正後にシステムを再起動し、Swap領域有効化を確認します。
作業の前に
ディスク起動時のオプションなど、特に重要なシステム領域の設定ファイルを修正する作業です。 失敗時に復旧できるようシステム全体のバックアップを取ることを強く推奨します。
現在のメモリ情報を確認
- メモリ情報を確認
free -h
-hオプションは(human readable)の略だそうです
- 実行結果
total used free shared buff/cache available
Mem: 3.8Gi 450Mi 2.9Gi 2.5Mi 688Mi 3.4Gi
Swap: 0B 0B 0B
Swapが全く作成されていません。
現在のディスク容量の確認
- 要領確認
df -h
- ○実行結果
Filesystem Size Used Avail Use% Mounted on
/dev/root 78G 5.0G 73G 7% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 784M 980K 783M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/vda15 105M 6.1M 99M 6% /boot/efi
tmpfs 392M 12K 392M 1% /run/user/1001
容量は問題ありません。実メモリと同じ4GBの領域を作ります。
Swap領域の確保
- Swap領域作成
sudo fallocate -l 4G /swap
- ファイル作成確認
ls -ldh /swap
指定ディレクトリに4GBのファイルがあることを確認します。
Swapの有効化
- /swapのパーミッション変更
sudo chmod 600 /swap
- パーミッション変更確認
ls -ldh /swap
rootのみが読み書き可能なことを確認します\
/swapの設定
- Swap領域作成
sudo mkswap /swap
- 実行結果
スワップ空間バージョン 1 を設定します。サイズ = 4 GiB (4294963200 バイト)
ラベルはありません, UUID=08cf06da-757e-4ab4-b049-e7da8ee73341
★/swapの有効化
sudo swapon /swap
Swap有効化確認
- メモリ情報確認
free -h
- ○実行結果
total used free shared buff/cache available
Mem: 3.8Gi 446Mi 2.9Gi 2.5Mi 689Mi 3.4Gi
Swap: 4.0Gi 0B 4.0Gi
4GBのSwap領域が確保されました。
fstab設定
- /etc/fstabのバックアップ
sudo cp -pi /etc/fstab /path/to/backup/directory/fstab.$(date +%Y%m%d)
- バックアップ作成確認
diff -u /path/to/backup/directory/fstab.$(date +%Y%m%d) /etc/fstab
差分が無いことでバックアップが取れていることを確認します。
- /etc/fstab追記
cat <<- __EOF__ | sudo tee -a /etc/fstab
/swap none swap sw 0 0
__EOF__
- 差分確認
diff -u /path/to/backup/directory/fstab.$(date +%Y%m%d) /etc/fstab
- 差分
+/swap none swap sw 0 0
再起動後の修正確認
- システム再起動
sudo reboot
- 再起動後の確認
以下が確認できれば作業完了です。
- サーバにログインできること
- Webサービスなど既存システムが設定前と同様に稼働すること
- free -h を実行し、Swap領域が確保されていること