スワップ領域の追加
メモリ2GBの小さなVPSでビルドがOOMで落ちる。ディスク上にスワップファイルを作って一時退避先を確保し、再起動後も有効にしたい。
手順
free -h && df -h /現在のスワップの有無とディスクの空きを確認する。スワップに使う分の空き容量が本当にあるかを先に見る。sudo fallocate -l 2G /swapfile2GiBのスワップ用ファイルを一瞬で確保する。fallocateが使えないファイルシステムでは、代わりにddで作る。sudo chmod 600 /swapfile所有者以外の読み書きを禁止する。スワップにはメモリ上の機密データが書き出されるため、この権限設定は省略不可。sudo mkswap /swapfileファイルをスワップ領域として初期化する。UUIDが表示されれば成功。sudo swapon /swapfile && free -hスワップを有効化し、freeのSwap行が増えたことを即確認する。この時点ではまだ再起動で消える一時的な状態。echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstabfstabに追記して再起動後も自動で有効になるようにする。追記後にsudo swapoff /swapfile && sudo swapon -aで、fstab経由で正しく載るかを再起動前に試験できる。⚠
注意スワップは「OOMで即死」を「遅くなるが生き残る」に変える保険であり、メモリ不足の根本解決ではない。恒常的にスワップを使い続けているなら、メモリ増設かアプリの見直しが本筋。chmod 600の省略も禁物。