【Ubuntu】swap領域を追加する方法

Ubuntu Server 22.04.1 LTSにswap領域を追加する手順です。

swap領域を追加方法

VPSって月額料金が安めのプランを選ぶと、メモリサイズが1Gぐらいになってしまいます。

この場合swapのサイズもメモリサイズの倍ぐらいで設定されていて、場合よってはswapが足りなくなってしまうことが有ります。

そこで、今回はswap領域用のファイルを作成し、それをswap領域として追加する方法を説明していきます。

ちなみに私が使用しているConoHaのVPSメモリ1Gプラン(Ubuntu 22.04.1 LTS)の場合は、初期のswapサイズは2Gに設定されていました。

$ free -m
               total        used        free      shared  buff/cache   available
Mem:             969         544          69          12         354         258
Swap:           2047         633        1414

swapon -sコマンドで確認してみると、/swap.imgというファイルをswap領域として使用しているようですね。

$ swapon -s
Filename				Type		Size		Used		Priority
/swap.img               file		2097148		65356		-2

swap用のファイル作成

まずは、ddコマンドを使用してswap用のファイルを作成します。

今回は「/」ディレクトリに「swaparea」という名前で、2Gのファイルを作成していきます。

$ sudo dd if=/dev/zero of=/swaparea bs=1M count=2048
$ sudo chmod 600 /swaparea

既存のファイルと重複しなければ作成するファイル名は特に決まりがないので、お好きなファイル名を設定してもらっても問題ありません。

作成するファイルのサイズは、bsでブロックサイズを1M、countでブロック数を2048と指定して2Gのファイルを作成しています。

count部分の数字を変更することで、作成するファイルのサイズを変更することができます。

swap用ファイルに変換

mkswapコマンドでswap領域として使用できる形式に変換します。

$ sudo mkswap /swaparea

swap領域としてマウント

swaponコマンドでswap領域としてマウントします。

$ sudo swapon /swaparea

swap領域の確認

最後にswap領域が増えていることをfreeコマンドやswapon -sコマンドで確認してください。

freeコマンドで確認

はじめは2Gだったswap領域のサイズが4Gに増えています。

$ free -m
               total        used        free      shared  buff/cache   available
Mem:             969         539          77          12         352         263
Swap:           4095         634        3461

swapon -sコマンドで確認

swapareaファイルがswapとして認識されていることが確認できます。

$ swapon -s
Filename				Type		Size		Used		Priority
/swap.img                               file		2097148		271804		-2
/swaparea                               file		2097148		0		-3

サーバ起動時にswap領域をマウントさせる方法

サーバ起動時にswap領域としてファイルをマウントさせるために、/etc/fstabを編集していきます。

$ sudo vi /etc/fstab

追加する設定は下記のとおりとなります。

/swaparea	none	swap	sw	0	0

サーバを再起動して、swap領域が追加されることを確認してください。

$ sudo reboot

追加したswapファイルの無効化

追加したswapファイルを直ぐに無効化したい場合はswapoffコマンドを使用します。

$ sudo swapoff /swaparea

freeコマンドで確認すると、swapのサイズが減って初期設定のサイズに戻っていることが確認できます。

$ free -m
total       used        free      shared  buff/cache   available
Mem:         969         723          72          12         172          85
Swap:       2047         309        1738

swapon -sコマンドで確認すると、/swapareaファイルがswapとしてマウントされていないことが確認できます。

$ swapon -s
Filename				Type		Size		Used		Priority
/swap.img                               file		2097148		317372		-2

fstabの編集

/ets/fstabを編集してある場合は、追加した設定を削除するなりコメント化するなりしてください。

設定を変更したあとにサーバを再起動して、swap領域の確認を行ってください。

コメント

タイトルとURLをコピーしました