こぼれネット

Amazon Lightsail(Ubuntu)での「突然死」対策メモ ーー swapfile(4GB)導入と確認手順(再現用)

以下、次回の構築でそのまま再現できることを優先して、コマンド列と確認ポイントを細かく付けた運用メモとして再整理します。


Amazon Lightsail(Ubuntu)での「突然死」対策メモ

swapfile(4GB)導入と確認手順(再現用)

0. 背景

目的


1. 事前確認(swap を置けるか)

1-1. ルートディスクの空き容量確認(最重要)

df -h /

判断:

1-2. ディスク/マウント構成確認

lsblk

確認ポイント:

1-3. 既存 swap の有無確認

swapon --show

追加で全体状況:

free -h

確認ポイント:

1-4. I/O の簡易確認(念のため)

iostat -x 1 3

確認ポイント:

iostat が無ければ導入:

sudo apt update
sudo apt install -y sysstat

2. swapfile 作成(4GB)

2-1. swapfile を作成

推奨:fallocate(高速)

sudo fallocate -l 4G /swapfile

※ fallocate が使えない場合(代替:dd、低速)

sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 status=progress

2-2. パーミッションを厳格化(重要)

sudo chmod 600 /swapfile

確認:

ls -lh /swapfile

期待(例):

2-3. swap として初期化

sudo mkswap /swapfile

2-4. swap 有効化

sudo swapon /swapfile

3. 有効化確認(その場で必ず実施)

3-1. swap の状態確認

swapon --show

期待(例):

NAME      TYPE SIZE USED PRIO
/swapfile file   4G   0B   -2

3-2. free で全体確認

free -h

期待(例):

Swap: 4.0Gi  0B  4.0Gi

4. 永続化(再起動後も自動で有効にする)

4-1. /etc/fstab に追記

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

4-2. fstab の追記内容確認

tail -n 5 /etc/fstab

確認ポイント:


5. swappiness 設定(推奨:10)

5-1. 現在値の確認

cat /proc/sys/vm/swappiness

5-2. 即時反映

sudo sysctl vm.swappiness=10

5-3. 永続化

echo 'vm.swappiness=10' | sudo tee /etc/sysctl.d/99-swappiness.conf

5-4. 永続化ファイル確認

cat /etc/sysctl.d/99-swappiness.conf

5-5. 設定反映確認

sysctl vm.swappiness

期待:

vm.swappiness = 10

6. 再起動テスト(永続化確認)

6-1. 再起動

sudo reboot

6-2. 再起動後の確認(最重要)

swapon --show
free -h

期待:


7. 実施後に観測された状態(正常例)

実施後の例:

/swapfile file 4G 256K -2

解釈:


8. 追加の確認(任意・原因追跡用)

8-1. OOM 発生の有無を確認

dmesg -T | grep -i oom

8-2. メモリ逼迫の常態化判定

free -h
swapon --show

判断の目安:


9. 注意点(運用上の要点)


以上で、次回構築時にコマンドを上から順に実行すれば同等の状態を再現できます。
必要なら、今回の Lightsail 上で「どのプロセスがメモリを食っているか」を特定するためのコマンド群(systemd サービス前提)も同じ粒度で追記します。

モバイルバージョンを終了