Skip to main content

vpsでサーバのswap領域を作成する。

概要

vpsはSwap領域が作られていないケースがあります。Swap領域を確保して、メモリの枯渇に備えます。

環境

  • Ubuntu 24.04
  • 4GBメモリ/80GBディスクのインスタンスを利用

さっくりとした手順

  1. 現在のメモリとディスク容量を確認します。
  2. Swap領域を確保します。
  3. 確保したSwap領域を有効化します。
  4. Swap領域が増えたことを確認します。
  5. fstabを修正します。
  6. 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
  • 再起動後の確認

以下が確認できれば作業完了です。

  1. サーバにログインできること
  2. Webサービスなど既存システムが設定前と同様に稼働すること
  3. free -h を実行し、Swap領域が確保されていること