kledgeb UbuntuやLinuxの最新情報を紹介

Ubuntu 16.10 その79 - スワップ領域をパーティションからファイルに移行させるには

スワップ領域をパーティションからファイルへ移行させる

「Ubuntu」では、スワップ領域にパーティションとファイルが利用できます。
現在の「Ubuntu」のインストーラーでは、スワップ領域をパーティション上に作成します。
「スワップパーティション」ですね。

一方スワップ領域をファイルに確保することもできます。
「スワップファイル」ですね。
Windowsのページングファイルみたいなものです。

これらは混在して利用することもできます。
つまり「スワップパーティション」と「スワップファイル」を組み合わせ、スワップ領域を確保することができます。

また「Ubuntu」実行中にスワップ領域の追加や削除ができ、柔軟な管理が可能になっています。

Ubuntu 17.04ではスワップファイルへ移行

以前紹介した通り、「Ubuntu 17.04」でデフォルトのインストールを行うと、スワップ領域を「スワップファイル」に確保します。

  • スワップパーティションからスワップファイルへ移行

既存のUbuntuでも同様のことが可能

ユーザーが作業する必要がありますが、既存の「Ubuntu」でも同様のことが可能です。

ここでは例として、「Ubuntu 16.10」上で「スワップパーティション」から「スワップファイル」に移行させてみます。

1.現在のスワップ領域

まず現在のスワップ領域がどのようになっているのかを確認します。

1-1.パーティション構成

この環境では、「sda3」がスワップ用のパーティションとして確保されています。


1-2.スワップの利用状況

スワップの利用状況を調べるには、「端末」から以下のコマンドを実行します。

swapon -s


「/dev/sda3」がスワップに使用されていることが分かります。
また「Type」の列を見ると「partition」となっており、このスワップ領域はパーティション上に確保されていることが分かります。

ちなみにこのコマンドは、スワップ領域を追加するときにも使用します。
スワップ オンです。

「システムモニター」でスワップ領域を確認すると、スワップ領域のサイズが1.9GiBであることが分かります。



2.スワップファイルの作成

スワップ領域をファイルに確保するためには、まずスワップファイルを作成する必要があります。

ここでは例として、1GiBのサイズを確保します。
またファイルを「/swapfile」に作成します。

2-1.ファイルの作成

確保したいスワップ領域のサイズと同じサイズのファイルを作成します。
「端末」から以下のコマンドを実行します。

sudo fallocate -l 1G /swapfile


以下のようにファイルが作成されます。


2-2.アクセス権の変更

セキュリティーのため、ファイルのアクセス権を「root」のみアクセスできるように変更します。
「端末」から以下のコマンドを実行します。

sudo chmod 600 /swapfile


2-3.ファイルのフォーマット

スワップとして利用できるように、作成したファイルをフォーマットします。
「端末」から以下のコマンドを実行します。

sudo mkswap /swapfile


3.スワップファイルのテスト

作成したスワップファイルをスワップとして利用できるかテストしてみます。

3-1.スワップ領域の追加

「端末」から以下のコマンドを実行します。

sudo swapon /swapfile


3-2.スワップの利用状況

「端末」から以下のコマンドを実行します。

swapon -s

スワップの利用状況を調べると、作成した「スワップファイル」が追加されています。
「Type」の列を見ると「file」となっており、このスワップ領域は「スワップファイル」であることが分かります。


「システムモニター」でスワップ領域を確認すると、スワップ領域のサイズが2.9GiB(+1GiB)に増えています。


4.スワップの設定を編集する

PC起動時に作成した「スワップファイル」をスワップ領域として使用するため、スワップ領域の設定を編集する必要があります。

注意

誤った編集を行うと最悪「Ubuntu」が起動しなくなるため、十分に注意してください。
最低でも編集前に設定ファイルのバックアップは作成しておきましょう。

4-1.設定ファイルを開く

「端末」から以下のコマンドを実行し、設定ファイルを「root」で開きます。

sudo -i gedit /etc/fstab

4-2.現在の設定

現在の設定ファイルの中身は、以下のようになっています。

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda5 during installation
UUID=c70ab3a0-569a-4f42-b61f-8255e22ecd79 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda1 during installation
UUID=DE3E-A8F6  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/sda3 during installation
UUID=378ee6ed-61f4-470c-9ed1-e0d726db686c none            swap    sw              0       0

「# swap was on...」のコメント行の次の行が、スワップ領域に関する設定です。

注意

環境によって設定ファイルの中身が異なります。

4-3.スワップパーティションの無効化

スワップ領域をパーティションからファイルへ移行させるため、既存のスワップ領域に関する設定を無効にする必要があります。

以下のようにスワップ設定の行頭に「#」を挿入します。

...(省略)...
# swap was on /dev/sda3 during installation
# UUID=378ee6ed-61f4-470c-9ed1-e0d726db686c none            swap    sw              0       0

これで「スワップパーティション」である「/dev/sda3」は、スワップ領域として使用されなくなります。

4-4.スワップファイルの有効化

次にスワップファイルを有効にするため、以下の記述を追記します。

# swap file
/swapfile none            swap    sw              0       0

編集したらファイルを上書き保存し、「テキストエディター」を終了します。
最終的にファイルの中身は、以下のようになります。

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda5 during installation
UUID=c70ab3a0-569a-4f42-b61f-8255e22ecd79 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda1 during installation
UUID=DE3E-A8F6  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/sda3 during installation
# UUID=378ee6ed-61f4-470c-9ed1-e0d726db686c none            swap    sw              0       0

# swap file
/swapfile none            swap    sw              0       0

4-5.PCの再起動

PCを再起動します。

補足

設定ファイルの編集に自信があるなら、ここで「スワップパーティション」をスワップ領域から削除(5-2.)し、「スワップパーティション」を削除すると良いでしょう。

5.スワップ領域の確認とスワップパーティションの削除

作成した「スワップファイル」が使用されているか確認します。
また、「スワップパーティション」を削除します。

5-1.スワップの利用状況

「端末」から以下のコマンドを実行します。

swapon -s


設定ファイルから除外した「/dev/sda3」がスワップ領域として使用されていることが分かります。
これは自動で「/dev/sda3」がスワップ領域として使用されただけで、気にする必要はありません。

5-2.スワップ領域からスワップパーティションを除外する

「端末」から以下のコマンドを実行します。

sudo swapoff /dev/sda3


これで「/dev/sda3」が現在のスワップ領域から除外されます。

5-3.スワップの利用状況

「端末」から以下のコマンドを実行します。

swapon -s


「/dev/sda3」がスワップ領域から除外されていることが分かります。
「システムモニター」でスワップ領域を確認すると、スワップ領域のサイズが除外した分減っています。


5-4.スワップパーティションの削除

「GParted」等パーティションを編集できるアプリを起動し、「スワップパーティション」を削除します。


5-5.最後の確認

最後にPCを再起動して、スワップの利用状況を調べます。


「スワップファイル」のみ使用されている状態です。
以上で完了です。


Ubuntu 16.10
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Ubuntu CPUfreq その1 - CPUfreqについて・ CPUfreqドライバーについて・ CPUfreqガバナーについて
    CPUfreq   CPUfreqは、CPUのクロック数を動的に変更する機能です。   CPUfreqを利用することで、OSの負荷に応じて動的にCPUのクロック数を調整することができます。  これにより、省電力効果を得ることができます。   CPUfreqを利用する場合...
  • Ubuntu 26.04 その42 - Ubuntu 26.04.1 LTS のリリーススケジュール
    Ubuntu 26.04.1 LTSのリリーススケジュール Ubuntu 26.04.1 LTS のリリーススケジュールを紹介します。
  • Ubuntu 24.04 その93 - Linux kernel 7.0 が利用可能に・Linux kernel 7.0 にアップグレードするには
    Linux kernel 7.0 が利用可能に 現在 Ubuntu 24.04 LTS を利用しているユーザーは、Linux kernel 7.0 へアップグレードできるようになりました。
  • Ubuntu 22.04 その79 - 画面ロックの有効・無効を設定するには・画面ロック時の設定をカスタマイズするには
    画面ロックの有効・無効を設定するには 一定時間ユーザーによる操作がない時に、自動的に画面をロックしパスワードで保護したり、画面をブランク状態にできます。
  • Ubuntu 26.04 その59 - amdgpu ドライバーでパフォーマンス低下のお知らせ
    amdgpu ドライバーでパフォーマンス低下のお知らせ 次期 Linux kernel のアップデートで、amdgpu ドライバーのパフォーマンスが低下するお知らせが出ています。
  • Linux Mint その120 - Linux Mint 19.2のTipsとトラブルシューティング
    Linux Mint 19.2のTipsとトラブルシューティング リリースノートから「Linux Mint 19.2」のTipsとトラブルシューティングを紹介します。
  • Ubuntu 26.04 その56 - amdgpu ドライバーでシステムがフリーズする現象
    amdgpu ドライバーでシステムがフリーズする現象 amdgpu ドライバーでシステムがフリーズする現象が報告されています。
  • Linux その402 - KDE Plasma で実装予定の新機能や改善・録音オプションの追加や VRAM の使用量表示など
    KDE Plasma で実装予定の新機能や改善 2026年7月11日、KDE Plasma で実装予定の新機能や改善が以下で紹介されました。
  • Linux Mint その291 - 次期バージョンで Wayland セッションの提供・Cinnamon の改良など
    Linux Mint 月刊ニュース Linux Mint 開発チームは Linux Mint 月刊ニュースにて、Linux Mint の開発状況や取り組みを紹介しています。
  • Linux その404 - COSMIC Epoch 1.3.0 リリース・ウィンドウのすりガラス効果に対応
    COSMIC Epoch 1.3.0 リリース 2026年7月15日、COSMIC Epoch 1.3.0 がリリースされました。
記事のピックアップ
オプション