Btrfsファイル・システムでのスワップ・ファイルの作成

Oracle Linuxでは、物理メモリー(RAM)の容量がすべて消費されるとスワップ領域が使用されます。システムにさらに多くのメモリー・リソースが必要なときに、RAMがすべて使用されている場合は、メモリー内の非アクティブなページがスワップ領域に移動されます。スワップ領域はRAMの容量が少ないシステムには役立ちますが、RAMを増やすための代替方法としてスワップ領域を使用しないでください。スワップ領域は専用のスワップ・パーティションに割り当てることをお薦めします。または、スワップ・ファイルを使用することも、スワップ・パーティションとスワップ・ファイルの使用を組み合せることもできます。

Btrfsのスワップ・ファイルは、次の制限付きでサポートされています。

  • スワップ・ファイルは、スナップショット対象のサブボリュームに配置できません。かわりに、スワップ・ファイルを配置するサブボリュームを作成することをお薦めします。

  • Btrfsでは、複数のデバイスにまたがるファイル・システム上のスワップ・ファイルはサポートされていません。

次に、Btrfsでスワップ・ファイルを作成する手順を示します。新しいスワップ・ファイルの作成前に、MB単位でスワップ・ファイルのサイズを計算します。次に、その数値を1024で乗算して、ファイルに必要なブロック数を特定します。たとえば、64MBスワップ・ファイルのブロック・サイズは65536になります。

  1. 空のファイルを作成します。次に例を示します。

    sudo dd if=/dev/zero of=/swapfile bs=1024 count=65536
  2. 次のコマンドを実行して、スワップ・ファイルを設定します。

    sudo mkswap /swapfile
  3. そのファイルに対するアクセス権を変更して、すべてのユーザーが読取り可能な状態ではなくなるようにします。

    sudo chmod 0600 /swapfile
  4. rootユーザーとして、次のエントリを含めるように/etc/fstabファイルを編集して、スワップ・ファイルを起動時に有効にします。
    /swapfile swap swap defaults 0 0
  5. マウント・ユニットを再生成して、/etc/fstabファイルに新しい構成を登録します。

    sudo systemctl daemon-reload
  6. 新しいスワップ・ファイルをアクティブにします。

    sudo swapon /swapfile

    前のコマンドを実行すると、新しいスワップ・ファイルがすぐにアクティブになります。

    または、次のコマンドを実行すると、アクティブなスワップ領域を調査することで、新しいスワップ・ファイルが正常に作成されたかどうかをテストできます。

    sudo cat /proc/swaps
    sudo free -h