投稿

Ubuntuでスワップファイルのサイズを増やす方法

十分な物理メモリがない状態で Ubuntu マシンを長時間実行したままにしたり、大規模なプラットフォームや BSP をコンパイルしてビルドしたりすると、パフォーマンスが低下したり、エラーが発生したりすることがあります。

そのため、Linux ベースの OS は、物理メモリが不足した場合にスワップファイルを作成し、ハードディスク上のファイルをメモリとして使用します。これはスワップ ファイルと呼ばれ、Windows 環境の仮想メモリに似ています。

それでは、Ubuntu 20.04でのスワップファイルの作成と適用方法を説明したいと思います。

チェックスワップ

私の Ubuntu 環境でのスワップ ステータスを確認するには、free -mコマンドを使用します。そして、システムのrootswapfileがあるかどうかを確認してください。スワップ ファイルはルート パスに作成するのが一般的です。

私の場合、2 GB のスワップを使用しており、スワップファイルはルート パスにあります。

1
2
3
4
5
6
7
8
9
$ free -m
              total        used        free      shared  buff/cache   available
Mem:           4913        1306        2306           8        1300        3359
Swap:          2048           0        2048
$ ls -la /
total 8388712
...
-rw-------   1 root root   2048934592 Jul 24 17:54 swapfile
...

スワップファイルの作成

既存の 2GB スワップファイルを削除し、新しい 5GB スワップファイルを作成します。

まず、スワップ機能をオフにして、既に使用されている 2GB のスワップ ファイルを削除します。

1
2
sudo swapoff -v /swapfile
sudo rm /swapfile

次に、ルートに 5GB のスワップファイルを作成し、ファイル権限を 600 に割り当てます。

1
2
sudo fallocate -l 5G /swapfile
sudo chmod 600 /swapfile 

最後に、新しく作成したファイルとのスワップを有効にします。

1
2
sudo mkswap /swapfile
sudo swapon /swapfile

以下は、上記のコマンドを実行した方法です。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ sudo swapoff -v /swapfile
[sudo] password for bull: 
swapoff /swapfile
$ sudo rm /swapfile
$ sudo fallocate -l 5G /swapfile
$ ls -l /
total 5242976
...
-rw-r--r--   1 root root   5368709120 Aug 17 14:11 swapfile
...
$ sudo chmod 600 /swapfile 
$ sudo mkswap /swapfile
Setting up swapspace version 1, size = 5 GiB (5368705024 bytes)
no label, UUID=747f641b-70cc-449c-b719-e54154ad8194
$ sudo swapon /swapfile

スワップファイルの登録

さて、最後に、Ubuntu が起動するたびにスワップファイルをロードするように Ubuntu を設定します。

次に、/etc/fstabを開きます。

1
sudo vi /etc/fstab    

そして、以下の行を追加します。すでに設定されている場合は追加する必要はありません。

1
/swapfile              none            swap    sw              0       0

リブート

まず再起動してください。再起動後、上記で生成されたスワップファイルをシステムモニターで確認できます。

`アプリケーション`メニュー > システムモニター アプリケーションメニュー > システムモニター

この記事は著作権者のライセンス:LICENSE_NAMEに従います。