Linuxのスワップ処理を最適化するためのヒントLinux Hacks(2/4 ページ)

» 2007年12月10日 05時20分 公開
[Gary-Sims,Open Tech Press]
SourceForge.JP Magazine

 システムにスワップパーティーションを追加するには、まずパーティーションの準備を行う必要がある。そのパーティーションがスワップパーティーションとして設定されていることを確認した上で、スワップファイルシステムの作成を行うことになる。パーティーションがスワップ用になっていることを確認するには、次のようなコマンドをrootで実行する。

fdisk -l /dev/hdb


 「/dev/hdb」の部分は、スワップパーティーションが設定されている各自のハードディスクのデバイス名で置き換えること。出力結果は次のようになるはずだ。

 Device Boot    Start   End     Blocks  Id      System

/dev/hdb1       2328    2434    859446  82      Linux swap / Solaris


 パーティーションがスワップとして表示されていない場合は、fdiskの実行でメニューオプションの「t」を選択してスワップ用に設定し直す必要がある。ただし、パーティーション設定の作業は慎重に行うこと。重要なパーティーションを誤って削除したり、システムパーティーションのIDをうっかりスワップ用に変更したりはしたくないはずだ。スワップパーティーション上の全データが失われる場合には、変更点をすべて再度チェックすること。また、SolarisのパーティーションにはLinuxのスワップ空間と同じIDが使用されるので、誤ってSolarisパーティーションを消さないようにも注意が必要だ。

 パーティーションをスワップ用に設定したら、次のようなmkswap(スワップ作成)コマンドをrootで実行して、スワップパーティーションの作成を行う。

mkswap /dev/hdb1


 何もエラーが出なければ、スワップ空間の準備は完了だ。スワップ空間を直ちに有効にするには、次のコマンドを実行すればよい。

swapon /dev/hdb1


 スワップ空間の使用状況は「swapon -s」を実行すれば確認できる。また、ブート時に自動的にスワップ空間をマウントするには、「/etc/fstab」ファイルへのエントリの追加が必要だ。このファイルはブート時にマウントされるファイルシステムとスワップ空間のリストになっていて、それぞれの行は次の形式で記述されている。

<ファイルシステム> <マウントポイント> <タイプ> <オプション> <ダンプ間隔> <パス番号>


 スワップ空間は特殊なタイプのファイルシステムなので、これらのパラメータの多くは適用できない。スワップ空間の場合は、次のように記述する。

/dev/hdb1       none    swap    sw      0       0


 「/dev/hdb1」がスワップパーティーション名である。スワップには特定のマウントポイントがないため、その部分は「none」となっている。タイプは「swap」、オプションは「sw」、また使用しない最後の2つのパラメータは「0」にしておく。

 スワップ空間が自動マウントされることをリブートせずに確認するには、「swapoff -a」(すべてのスワップ領域を無効化)と「swapon -a」(「etc/fstab」ファイルに記されたすべてのスワップ空間をマウント)を順に実行した上で、「swapon -s」コマンドでそのスワップ空間がマウントされていることを確認すればよい。

Copyright © 2010 OSDN Corporation, All Rights Reserved.

注目のテーマ