無題の備忘録

IT技術について調べたことや学んだこと、試したこと記録するブログです。Erlang、ネットワーク、 セキュリティ、Linux関係のものが多いです。

Ubuntu 18.04 LTS でスワップファイルを作成・拡張する

メモリ 16 GB のマシンに Ubuntu Desktop 18.04 LTS をインストールして使っているのだが、デフォルトのまま適当にインストールした結果、swap が 2GB しかなかった。

仮想マシンを起動して作業したい事情があったのだが、Chromium のタブを開きまくってると、それだけで結構メモリを使っていて、仮想マシンを起動すると、swap が発生する。が、2GB しかなくてえらく重くなるので、swapファイルを作成・拡張した。

まず、下記のコマンドでルート直下に swapfile2 を作成する。すでに swapfile があるので、それとは別に作成した。メモリ 16GB なので、とりあえず追加も 16GB にした。dd コマンドで作ってもいいが、ddコマンドは実際に書き込みをするから、作成まで時間がかかかる。fallocate コマンドはディスク領域の予約だけで済ませるのですぐに終わるとのこと。確かに一瞬だった。

$ sudo fallocate -l 16G /swapfile2

所有者のみの読み書き制限を設定する。元々ある /swapfile に合わせた。

$ sudo chmod 600 /swapfile2

作成したファイルをスワップ領域として使うようにする。

$ sudo mkswap /swapfile2
スワップ空間バージョン 1 を設定します。サイズ = 16 GiB (17179865088 バイト)
ラベルはありません, UUID=c5c621a5-1a10-4178-8dbf-a35359f2354f

とりあえず作成したスワップファイルを有効にする。

$ sudo swapon /swapfile2

ただ、これだけだとマシンを再起動すると、無効になるので、/etc/fstab に元からあった swapfile のを参考に swapfile2 も登録する。

$ sudo vi /etc/fstab
/swapfile                                 none            swap    sw              0       0
/swapfile2                                 none            swap    sw              0       0

スワップの状況を確認すると、どうやら 16GB の swapfile2 が有効になっているようだ。

$ sudo swapon --show
NAME       TYPE SIZE USED PRIO
/swapfile  file   2G 1.8G   -2
/swapfile2 file  16G   0B   -3

これで、とりあえず仮想マシンが起動できる。めでたし。