スワップ領域としてファイルを指定する

RAMの小さいマシンだと容量が足りなくなってフリーズしがちなので、ストレージ上にスワップ領域を確保することにした。 あらかじめパーティションの一部をスワップ領域用に切り分けておくのが一般的と思われるが、システムボリュームのパーティションはいじりたくないので、ここでは簡易的にスワップファイルを作成して使用することにする。

スワップファイルの作成と設定

$ SIZE=1G
$ sudo fallocate -l $SIZE /swapfile
$ sudo chmod 600 /swapfile
$ sudo mkswap /swapfile
$ sudo swapon /swapfile

永続化

/etc/fstabに以下の行を追記。

/swapfile none swap sw 0 0

ファイル/swapfileをどこにもマウントポイントを置かないで、swap形式のイメージファイルとして、swオプションで利用することを表している。

このまま再起動するとファイルの内容に間違いがあった時に正しく起動できず復旧作業が必要になってしまうので、mountコマンドで設定が反映できることを確認しておく。

$ sudo mount -a # fstabの内容を反映

確認

スワップ領域の利用状況はfreeコマンドで確認できる。

$ free -h
               total        used        free      shared  buff/cache   available
Mem:           971Mi       706Mi        98Mi        47Mi       417Mi       265Mi
Swap:          1.0Gi       262Mi       761Mi

参考文献: