Ubuntu でスワップファイルを使う方法
仕事でよく某社の VPS を使うのだが、この VPS はメモリがケチでねぇ。
そこそこの値段でも正直「少ねーな」と感じていたのだが、とうとう限界が来た。 Nuxt.js のビルドで OOM Killer が起きるようになった…
ということでスワップ使わないと、ということになったので設定した時のログを書いておく。
環境
- Ubuntu 24.04.3 LTS
現在のスワップファイルの状態確認
$ swapon --show
これで何も表示されないので、スワップファイルは設定されていない状態。
スワップファイル作成
$ sudo fallocate -l 8G /swapfile
$ sudo mkswap /swapfile
mkswap: /swapfile: warning: wiping old swap signature.
Setting up swapspace version 1, size = 8 GiB (8589930496 bytes)
no label, UUID=*********-****-****-****-************
$ sudo chmod 600 /swapfile
$ sudo swapon /swapfile
パーミッション注意な。 root だけ読み書きできればいいので 600 にしておくこと。
そして、スワップファイルできているか確認。
$ swapon --show
NAME TYPE SIZE USED PRIO
/swapfile file 8G 523.3M -2
うん、出来てるね。
/etc/fstab にスワップファイルを追加
このままだとマシン再起動するとスワップファイルの設定が消えるので /etc/fstab にスワップファイルを設定して永続化する。
以下の記述を /etc/fstab に追加する。
/swapfile none swap sw 0 0
これで問題なくスワップ使えるようになった。
実際に Nuxt.js ビルドしたらこうなった。
$ free -h
total used free shared buff/cache available
Mem: 3.8Gi 1.0Gi 1.7Gi 1.7Mi 1.4Gi 2.8Gi
Swap: 8.0Gi 523Mi 7.5Gi