システム管理者は、次の事柄を決定する上で SunOS のスワップ機構を理解しておく必要があります。
スワップ空間の要件
スワップ空間と TMPFS ファイルシステムとの関係
スワップ空間に関連するエラーメッセージからの復元
Solaris ソフトウェアは、一時記憶域にファイルシステムではなくディスクスライスを使用します。これらのスライスを「スワップ」スライスと呼びます。 スワップスライスは、システムの物理メモリーが不足し現在のプロセスを処理することができないときに、仮想メモリー記憶域として使用されます。
仮想メモリーシステムは、ディスク上のファイルの物理コピーをメモリー内の仮想アドレスに対応付けます。これらのマッピングに関するデータが入った物理メモリーページは、ファイルシステム内の通常ファイルまたはスワップ空間から読み直されます。メモリーをバックアップしているディスク空間に割り当てられる ID はわからないため、スワップ空間から読み直されたメモリーは anonymous メモリーと呼ばれます。
Solaris 環境には、「仮想スワップ空間」という概念が導入されています。これは、anonymous メモリーページとこれらのページを実際にバックアップする物理記憶域 (またはディスク上にとられたバックアップ用のスワップ空間) の間に位置する層です。システムの仮想スワップ空間は、すべての物理 (ディスク上にとられたバックアップ用のスワップ空間) スワップ空間と現在使用可能な物理メモリーの一部の合計に等しくなります。
仮想スワップ空間の長所は次のとおりです。
仮想スワップ空間が物理 (ディスク) 記憶域に対応していなくてもかまわないので、大きな物理スワップ空間を確保する必要がなくなる。
SWAPFS という疑似ファイルシステムが、anonymous メモリーページのアドレスを提供する。SWAPFS はメモリーページの割り当てを制御するので、ページに対する処理を柔軟に決定できる。たとえば、ディスク上にとられたバックアップ用のスワップ記憶域のページ要件を変更できる。
Solaris 環境では、TMPFS ファイルシステムは /etc/vfstab ファイル内のエントリによって自動的に稼働されます。TMPFS ファイルシステムは、ファイルとそれに関連付けられた情報をディスクではなくメモリー (/tmp ディレクトリ) に格納するので、これらのファイルへのアクセスが高速になります。この機能によって、コンパイラや DBMS 製品のように /tmp の使用量の大きいアプリケーションの場合は、パフォーマンスが大幅に改善されます。
TMPFS ファイルシステムは、システムのスワップリソースから /tmp ディレクトリ内の領域を割り当てます。つまり、/tmp ディレクトリ内の領域を使い果たすと、スワップ空間も使い果たしたことになります。したがって、/tmp ディレクトリの使用量が大きいアプリケーションの場合は、スワップ空間の使用状況を監視しなければ、システムがスワップ空間を使い果たす可能性があります。
TMPFS を使用したいがスワップリソースが限られている場合は、次の方法を使用してください。
サイズオプション (-o size) を指定して TMPFS ファイルシステムをマウントし、TMPFS が使用できるスワップリソースを制御する。
コンパイラの TMPDIR
環境変数を使用して、より大きな別のディレクトリを指す。
コンパイラの TMPDIR
変数を使用すると、コンパイラが /tmp ディレクトリを使用するかどうかだけが制御される。この変数は、他のプログラムによる /tmp ディレクトリの使用には影響しない。
通常、ダンプデバイスとは、システムクラッシュダンプ情報を格納するために予約されているディスク領域のことです。デフォルトでは、システムのダンプデバイスは適切なスワップパーティションになるように設定されます。可能であれば、クラッシュダンプの信頼性を高めたり、システム障害が発生した後のリブート時間を短縮したりする代わりに、代替ディスクパーティションを「専用ダンプデバイス」として設定してください。 専用ダンプデバイスの設定は、dumpadm コマンドで行えます。詳細については、『Solaris のシステム管理 (上級編)』の「システムクラッシュ情報の管理 (手順)」を参照してください。
Solaris ボリュームマネージャなどのボリュームマネージャを使用してディスクを管理している場合は、専用ダンプデバイスを Solaris ボリュームマネージャの管理下に置かないように設定してください。スワップ領域は、Solaris ボリュームマネージャの管理下に保管することをお薦めします。ただし、使いやすさとパフォーマンスの理由から、Solaris ボリュームマネージャの管理下で動作しないディスクを専用ダンプデバイスとして設定してください。