GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu20.04でスワップスペースを追加する方法

スワップは、物理RAMメモリの量がいっぱいになったときに使用されるディスク上のスペースです。 LinuxシステムでRAMが不足すると、非アクティブなページがRAMからスワップスペースに移動されます。

スワップスペースは、専用のスワップパーティションまたはスワップファイルのいずれかの形式をとることができます。通常、仮想マシンでUbuntuを実行している場合、スワップパーティションは存在せず、唯一のオプションはスワップファイルを作成することです。

このチュートリアルでは、Ubuntu20.04でスワップファイルを追加する方法について説明します。

始める前に#

スワップは、物理メモリの代わりと見なされるべきではありません。スワップスペースはハードドライブの一部であるため、物理メモリよりもアクセス時間が遅くなります。システムのメモリが常に不足している場合は、RAMを追加する必要があります。

通常、スワップファイルのサイズは、システムに搭載されているRAMの量によって異なります。

  • 2GB未満のRAMを搭載したシステム -RAMの2倍の量。
  • 2〜8GBのRAMを搭載したシステム -RAMの容量と同じサイズ。
  • 8GBを超えるRAMを搭載したシステム -少なくとも4GBのスワップ。

スワップファイルをアクティブ化できるのは、rootまたはsudo権限を持つユーザーのみです。

スワップファイルの作成#

この例では、2 GBを作成します スワップファイル。さらにスワップを追加する場合は、2Gを置き換えます 必要なスワップスペースのサイズで。

以下の手順を実行して、Ubuntu20.04にスワップスペースを追加します。

  1. まず、スワップとして使用されるファイルを作成します:

    sudo fallocate -l 2G /swapfile

    fallocateの場合 ユーティリティがシステムに存在しないか、fallocate failed: Operation not supportedというエラーメッセージが表示されます 、次のコマンドを使用してスワップファイルを作成します。

    sudo dd if=/dev/zero of=/swapfile bs=1024 count=2097152
  2. ファイルの権限を600に設定します 通常のユーザーがファイルを読み書きできないようにするには:

    sudo chmod 600 /swapfile
  3. ファイルにLinuxスワップ領域を作成します:

    sudo mkswap /swapfile
    Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
    no label, UUID=fde7d2c8-06ea-400a-9027-fd731d8ab4c8
    
  4. 次のコマンドを実行して、スワップファイルをアクティブ化します。

    sudo swapon /swapfile

    変更を永続的にするには、/etc/fstabを開きます ファイル:

    sudo nano /etc/fstab

    次の行を貼り付けます:

    / etc / fstab
    /swapfile swap swap defaults 0 0
  5. swaponのいずれかを使用して、スワップがアクティブであることを確認します またはfree 以下に示すように、コマンド:

    sudo swapon --show
    NAME      TYPE      SIZE  USED PRIO
    /swapfile file        2G    0B   -1
    sudo free -h
                  total        used        free      shared  buff/cache   available
    Mem:          981Mi        97Mi        68Mi       0.0Ki       814Mi       735Mi
    Swap:         2.0Gi        10Mi       1.9Gi

Swappiness値の調整#

Swappinessは、システムがスワップスペースを使用する頻度を定義するLinuxカーネルプロパティです。値は0〜100の間です。値を小さくすると、カーネルは可能な限りスワップを回避しようとしますが、値を大きくすると、カーネルはスワップスペースをより積極的に使用するようになります。

Ubuntuでは、デフォルトのswappiness値は60に設定されています 。次のコマンドを入力して、現在の値を確認できます。

cat /proc/sys/vm/swappiness
60

60のswappiness値が ほとんどのLinuxシステムでは問題ありませんが、実稼働サーバーでは、より低い値を設定する必要がある場合があります。

たとえば、swappinessの値を10に設定するには 、実行:

sudo sysctl vm.swappiness=10

このパラメータを再起動後も永続的にするには、次の行を/etc/sysctl.confに追加します。 ファイル:

/etc/sysctl.conf
vm.swappiness=10

最適なswappiness値は、システムのワークロードとメモリの使用方法によって異なります。最適な値を見つけるには、このパラメータを少しずつ調整する必要があります。

スワップファイルの削除#

スワップファイルを非アクティブ化して削除するには、次の手順に従います。

  1. まず、スワップスペースを無効にします:

    sudo swapoff -v /swapfile
  2. 次に、スワップファイルエントリ/swapfile swap swap defaults 0 0を削除します /etc/fstabから ファイル。

  3. 最後に、rmを使用して実際のスワップファイルファイルを削除します コマンド:

    sudo rm /swapfile

Ubuntu
  1. Ubuntuでスワップファイルを追加する方法

  2. Ubuntu18.04でスワップスペースを追加する方法

  3. Debian 11 にスワップ領域を追加する方法

  1. Ubuntu 22.04 でスワップ領域を追加する方法

  2. Linux でスワップ領域を追加する方法

  3. CentOS / RHEL :スワップ ファイルを追加する方法

  1. Ubuntu18.04でスワップスペースを追加する方法

  2. UbuntuでSudoersにユーザーを追加する方法

  3. CentOS7でスワップスペースを追加する方法