図1 スワップ領域の容量を確認。この例では約1Gバイトのスワップ領域が確保されています。
図1 スワップ領域の容量を確認。この例では約1Gバイトのスワップ領域が確保されています。
[画像のクリックで拡大表示]

 コンピュータ・システムの動作中に,メイン・メモリー(実メモリー)を使い切りそうになり,空き容量が不足した場合,実メモリーから使用中の内容の一部を取り出して退避するためのハード・ディスク上の領域です。Linuxでは,専用の領域としてパーティション作成時に確保します。スワップ領域の容量や使用状況は,freeコマンドで確認できます(図1)。

 スワップ領域に退避した内容に再びアクセスするためには,実メモリー上に復元する処理が必要です。これを「スワップイン」と呼びます。その逆の退避する処理は「スワップアウト」です。

 実メモリーと比べると,ハード・ディスクへのアクセス速度は格段に遅くなります。また,スワップアウトやスワップインが頻繁に発生すると,CPUの処理能力の多くがそれらの処理に割り当てられてしまい,アプリケーションの動作の妨げになります。そのため,システム全般の処理性能は大幅に低下します。ちなみに,スワップアウトやスワップインが頻繁に発生してしまう状態を,「スラッシング」と呼びます。

 基本的には,スワップインやスワップアウトが頻繁に発生しないだけの実メモリーを搭載することが望ましいといえます。スワップ領域は実メモリーの容量不足によって,実行中のプロセスの強制終了を発生させないため,あるいはシステムを停止させないための“保険”とみなしましょう。実メモリーの容量が足りなければ,スワップ領域を増やすのではなく,実メモリーの搭載量を増加するようにすべきです。