Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第15章 スワップ領域

Linux のスワップ領域 は、物理メモリー(RAM)が不足すると使用されます。システムに多くのメモリーリソースが必要で、RAM が不足すると、メモリーの非アクティブなページがスワップ領域に移動します。スワップ領域は、RAM が少ないマシンで役に立ちますが、RAM の代わりに使用しないようにしてください。スワップ領域はハードドライブにあり、そのアクセス速度は物理メモリーに比べると遅くなります。スワップ領域は、専用のスワップパーティション(推奨)、スワップファイル、またはスワップパーティションとスワップファイルの組み合せが考えられます。Btrfs はスワップ領域に対応していないことに注意してください
過去数年、推奨されるスワップ領域のサイズは、システムの RAM 容量とともに直線的に増加していました。しかし、最近のシステムには通常、数百ギガバイトの RAM が含まれます。結果として、推奨されるスワップ領域は、システムのメモリーではなく、システムメモリーのワークロードの機能とみなされます。
表15.1「システムの推奨 swap 領域」 では、システムの RAM の容量別に推奨されるスワップパーティションのサイズと、システムをハイバネートするのに十分なメモリーが必要かどうかを示しています。推奨されるスワップパーティションのサイズは、インストール時に自動的に確定されます。ハイバネートを可能にするには、カスタムのパーティション分割段階でスワップ領域を編集する必要があります。
表15.1「システムの推奨 swap 領域」、メモリーが少ないシステム(1 GB 以下)で特に重要になります。このようなシステムで十分なスワップ領域を割り当てられないと、不安定になる問題が生じたり、インストールしたシステムが起動できなくなる可能性があります。
表15.1「システムの推奨 swap 領域」 (システムの RAM が 2 GB、8 GB、または 64 GB などの場合)、swap 領域の決定やハイバネートへのサポートは適宜判断してください。システムリソースに余裕がある場合は、スワップ領域を増やすとパフォーマンスが向上することがあります。140 以上の論理プロセッサーまたは 3 TB を超える RAM があるシステムでは、スワップ領域を 100 GB 以上にすることが推奨されます。
高速のドライブ、コントローラー、およびインターフェースを搭載したシステムでは、複数のストレージデバイスにスワップ領域を分散すると、スワップ領域のパフォーマンスも向上します。
重要
スワップ領域として割り当てたファイルシステムおよび LVM2 ボリュームは、変更時に 使用しない でください。システムプロセスまたはカーネルがスワップ領域を使用していると、スワップの修正に失敗します。free コマンドおよび cat /proc/swaps コマンドを使用して、スワップの使用量と、使用中の場所を確認します。
システムがレスキューモードで起動している間にスワップ領域を変更する必要があります。『Red 『Hat Enterprise Linux 7 インストールガイド』の「レスキューモードでコンピューター https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Installation_Guide/sect-boot-options-maintenance.html#sect-boot-options-rescue を起動する 」を参照してください』。ファイルシステムをマウントするように指示されたら、スキップ を選択します。

15.1. swap 領域の追加

インストール後にさらにスワップ領域を追加する必要がある場合があります。たとえば、システムの RAM 容量を 1 GB から 2 GB にアップグレードできますが、2 GB のスワップ容量しかありません。メモリーを大幅に消費する操作を実行している場合や、大量のメモリーを必要とするアプリケーションを実行する場合は、スワップ領域を 4 GB に増やすことが有益となる可能性があります。
swap パーティションを新規作成し、スワップファイルを新たに作成するか、既存の LVM2 論理ボリュームにスワップを拡張する 3 つのオプションがあります。既存の論理ボリュームを拡張することが推奨されます。

15.1.1. LVM2 論理ボリュームでの Swap の拡張

デフォルトでは、Red Hat Enterprise Linux 7 はインストール時に利用可能なすべての領域を使用します。お使いのシステムの場合は、最初に、swap 領域が使用するボリュームグループに新しい物理ボリュームを追加する必要があります。
スワップ領域のボリュームグループにストレージを追加した後に、拡張できるようになりました。これを行うには、以下の手順を実施します (/dev/VolGroup00/LogVol01 は 2 GB で拡張するボリュームです)。

手順15.1 LVM2 論理ボリュームでの Swap の拡張

  1. 関連付けられている論理ボリュームのスワップ機能を無効にします。
    # swapoff -v /dev/VolGroup00/LogVol01
  2. LVM2 論理ボリュームのサイズを 2 GB 増やします。
    # lvresize /dev/VolGroup00/LogVol01 -L +2G
  3. 新しいスワップ領域をフォーマットします。
    # mkswap /dev/VolGroup00/LogVol01
  4. 拡張論理ボリュームを有効にします。
    # swapon -v /dev/VolGroup00/LogVol01
  5. スワップ論理ボリュームの拡張に成功したかどうかをテストするには、アクティブなスワップ容量を調べます。
    $ cat /proc/swaps
    $ free -h

15.1.2. Swap 用の LVM2 論理ボリュームの作成

スワップボリュームグループ 2 GB のサイズを追加するには、/dev/VolGroup00/LogVol02 が追加するスワップボリュームであると仮定します。
  1. サイズが 2 GB の LVM2 論理ボリュームを作成します。
    # lvcreate VolGroup00 -n LogVol02 -L 2G
  2. 新しいスワップ領域をフォーマットします。
    # mkswap /dev/VolGroup00/LogVol02
  3. 次のエントリーを /etc/fstab ファイルに追加します。
    /dev/VolGroup00/LogVol02   swap     swap    defaults     0 0
  4. システムが新しい設定を登録するように、マウントユニットを再生成します。
    # systemctl daemon-reload
  5. 論理ボリュームでスワップをアクティブにします。
    # swapon -v /dev/VolGroup00/LogVol02
  6. スワップ論理ボリュームの作成に成功したかどうかをテストするには、アクティブなスワップ容量を調べます。
    $ cat /proc/swaps
    $ free -h

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

スワップファイルを追加するには、以下を実行します。

手順15.2 スワップファイルの追加

  1. 新しいスワップファイルのサイズをメガバイト単位で指定してから、そのサイズに 1024 をかけてブロック数を指定します。たとえばスワップファイルのサイズが 64 MB の場合は、ブロック数が 65536 になります。
  2. 空のファイルの作成:
    # dd if=/dev/zero of=/swapfile bs=1024 count=65536
    希望のブロックサイズと同等の値に count を置き換えます。
  3. 次のコマンドでスワップファイルをセットアップします。
    # mkswap /swapfile
  4. スワップファイルのセキュリティーを変更して、全ユーザーで読み込みができないようにします。
    # chmod 0600 /swapfile
  5. システムの起動時にスワップファイルを有効にするには、root で /etc/fstab に、次のエントリーを追加します。
    /swapfile          swap            swap    defaults        0 0
    次にシステムが起動すると新しいスワップファイルが有効になります。
  6. システムが新しい /etc/fstab 設定を登録するように、マウントユニットを再生成します。
    # systemctl daemon-reload
  7. スワップファイルをすぐに有効にするには、次のコマンドを実行します。
    # swapon /swapfile
  8. 新しいスワップファイルを作成して有効にできたことをテストするには、アクティブなスワップ容量を調べます。
    $ cat /proc/swaps
    $ free -h

このページには機械翻訳が使用されている場合があります (詳細はこちら)。