2.2. スワップ領域の追加

時には、インストールした後にスワップ領域を増加する必要がでてきます。 例えば、RAMの容量を64 MBから128 MBにアップグレードした場合、 スワップ領域はそのままでは128 MBしかありません。 メモリ使用の多い操作をしたり、大容量 メモリを要求するアプリケーションを実行する場合、 スワップ領域を 256 MBまで増加したほうが都合がよいでしょう。

それには 2つのオプションがあります。スワップパーティションを追加するか、 またはスワップファイルを追加するかです。 スワップパーティションの追加が推奨されますが、 空き領域がない場合は簡単にできません。

スワップパーティションを追加(/dev/hdb2を、 追加したいスワップパーティションと想定)するには、次の方法で実行します。

  1. ハードドライブが使用中であってはいけません(パーティションはマウントされていない状態で、 スワップスペースは無効でなければなりません)。 カーネルが正しく変更を認識しない恐れがあるので、 パーティションテーブルは使用中に変更しないでください。 マウントしているパーティションテーブルとパーティションが一致しないため、 データが誤ったパーティションに書き込まれることで上書きされる可能性があります。これを達成するのに一番簡単な方法は、 レスキューモードでシステムをブートすることです。 レスキューモードでのブートの仕方は、第11章を参照してください。 ファイルシステムをマウントするように要求された時には、スキップ を選択します。

    別の方法として、そのドライブが使用中のパーティションを含んでいない場合、 アンマウントして、swapoffコマンドでハードドライブ上の すべてのスワップ領域を無効にします。

  2. partedを使用してスワップパーティションを作成

    • シェルプロンプトで rootとして、parted /dev/hdb コマンドを入力します。ここで、/dev/hdbは、 空き領域を持つハードドライブのデバイス名です。

    • (parted)プロンプトで、printと入力して、 現在のパーティションと空き領域のサイズを表示します。 開始と終了の値はメガバイトで表示しています。 ハードドライブ上の空き領域を判定し、 新しいスワップパーティションに割り当てる容量を決定します。

    • (parted)プロンプトで、 mkpartfs part-type linux-swap startendを入力します。 ここで、part-typeはプライマリ、拡張、論理のどれかです。startは、パーティションの開始点で、endは、パーティションの終了点を示します。

      警告警告
       

      変更はすぐに反映されます。注意して正しく入力してください。

    • quitと入力してpartedを終了します。

  3. これでスワップパーティションができました。mkswapコマンドを使用して スワップパーティションを設定します。 rootとして、シェルプロンプトで次を入力します。

    mkswap /dev/hdb2
  4. すぐにスワップパーティションを有効にするために、次のコマンドを入力します。

    swapon /dev/hdb2
  5. ブート時に有効になるように、/etc/fstabを編集して以下を含ませます。

    /dev/hdb2               swap                    swap    defaults        0 0

    次回システムがブートする時には、新しいスワップパーティションが有効になります。

  6. 新しいスワップパーティションを追加して有効にした後は、 コマンドcat /proc/swaps又は、 freeの出力を表示してそれが有効になっていることを確認します。

スワップファイルを追加するには次の方法で実行します。

  1. 新しいスワップファイルの容量をメガバイトで決定し、 その数値に1024を掛けてブロックサイズを決定します。 例えば、64 MBのスワップファイルのブロックサイズは65536となります。

  2. シェルプロンプトで rootとして、 countを希望のブロックサイズと同じにして次のコマンドを入力します。

    dd if=/dev/zero of=/swapfile bs=1024 count=65536
  3. 次のコマンドでスワップファイルを作成します。

    mkswap /swapfile
  4. すぐにスワップファイルを有効にするには(ただし、ブート時に自動的にではない)、 次を入力します。

    swapon /swapfile
  5. ブート時に有効になるように、/etc/fstabを編集して以下を含ませます。

    /swapfile               swap                    swap    defaults        0 0

    次回システムがブートする時には、新しいスワップファイルが有効になります。

  6. 新しいスワップファイルを追加して、有効にした後は、 コマンドcat /proc/swaps又は free の出力を表示して、それが有効になっていることを確認します。