ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 の管理: デバイスとファイルシステム Oracle Solaris 11.1 Information Library (日本語) |
6. InfiniBand デバイスの使用 (概要/タスク)
11. COMSTAR を使用したストレージデバイスの構成 (タスク)
12. Oracle Solaris Internet Storage Name Service (iSNS) の構成と管理
Oracle Solaris ZFS ルート環境でのスワップ空間の追加または変更
次を決定するには、Oracle Solaris のスワップメカニズムの機能を理解してください。
スワップ空間の要件
スワップ空間と TMPFS ファイルシステムとの関係
スワップ空間に関連するエラーメッセージから回復する方法
Oracle Solaris OS ソフトウェアやアプリケーションソフトウェアは、一部のディスク領域を、ファイルシステムとしてではなく一時記憶域として使用できます。ディスク上に予約される領域は、スワップ空間と呼ばれます。スワップ空間は、現在のプロセスを処理するだけの十分な物理メモリーがシステムにない場合に、仮想メモリー記憶域として使用されます。ZFS ルートファイルシステムの場合、スワップ用に予約されるディスク領域は、ZFS ボリュームになります。
仮想メモリーシステムは、ディスク上のファイルの物理コピーをメモリー内の仮想アドレスに対応付けます。これらのマッピングに関するデータが入った物理メモリーページは、ファイルシステム内の通常ファイルまたはスワップ空間から読み直されます。メモリーをバックアップしているディスク空間に割り当てられる ID はわからないため、スワップ空間から読み直されたメモリーは「匿名メモリー」と呼ばれます。
Oracle Solaris OS には、「仮想スワップ空間」という概念が導入されています。これは、匿名メモリーページとこれらのページを実際にバックアップする物理記憶域 (またはディスク上にとられたバックアップ用のスワップ空間) の間に位置する層です。システムの仮想スワップ空間は、すべての物理 (ディスク上にとられたバックアップ用のスワップ空間) スワップ空間と現在使用可能な物理メモリーの一部の合計に等しくなります。
仮想スワップ空間の長所は次のとおりです。
仮想スワップ空間が物理 (ディスク) 記憶域に対応していなくてもかまわないので、大きな物理スワップ空間を確保する必要がなくなります。
SWAPFS という疑似ファイルシステムが、匿名メモリーページのアドレスを提供します。SWAPFS はメモリーページの割り当てを制御するので、ページに対する処理を柔軟に決定できます。たとえば、ディスク上にとられたバックアップ用のスワップ記憶域のページ要件を変更できます。
Oracle Solaris 環境では、TMPFS ファイルシステムは /etc/vfstab ファイル内のエントリによって自動的に稼働されます。TMPFS ファイルシステムは、ファイルとそれに関連付けられた情報をディスクではなくメモリー (/tmp ディレクトリ) に格納するので、これらのファイルへのアクセスが高速になります。この機能によって、コンパイラや DBMS 製品のように /tmp の使用量の大きいアプリケーションの場合は、パフォーマンスが大幅に改善されます。
TMPFS ファイルシステムは、システムのスワップリソースから /tmp ディレクトリ内の領域を割り当てます。つまり、/tmp ディレクトリ内の領域を使い果たすと、スワップ空間も使い果たしたことになります。したがって、/tmp ディレクトリの使用量が大きいアプリケーションの場合は、スワップ空間の使用状況をモニターしなければ、システムがスワップ空間を使い果たす可能性があります。
スワップリソースが限られているときに TMPFS を使用する場合は、次の方法を使用してください。
サイズオプション (-o size) を指定して TMPFS ファイルシステムをマウントし、TMPFS が使用できるスワップリソースを制御します。
より大きな別のディレクトリをポイントするように、コンパイラの TMPDIR 環境変数の設定を変更します。
コンパイラの TMPDIR 変数を使用すると、コンパイラが /tmp ディレクトリを使用するかどうかだけが制御されます。この変数は、ほかのプログラムによる /tmp ディレクトリの使用には影響しません。
通常、ダンプデバイスとは、システムクラッシュダンプ情報を格納するために予約されているディスク領域のことです。システムのインストール時に、ZFS スワップボリュームおよびダンプボリュームが自動的に作成されます。システムのダンプボリュームは、dumpadm コマンドを使って変更できます。詳細は、『Oracle Solaris 11.1 での一般的な問題のトラブルシューティング』の第 1 章「システムクラッシュ情報の管理 (タスク)」を参照してください。
ZFS ルート環境では、スワップとダンプは別々の ZFS ボリュームとして構成されます。このモデルの利点は次のとおりです。
スワップ領域とダンプ領域を含めるためにディスクをパーティションに分割する必要がない。
スワップおよびダンプデバイスが背後の ZFS 入出力パイプラインアーキテクチャーを利用できる。
スワップおよびダンプデバイス上で圧縮などの特性を設定できる。
スワップおよびダンプデバイスのサイズをリセットできる。例:
# zfs set volsize=2G rpool/dump # zfs get volsize rpool/dump NAME PROPERTY VALUE SOURCE rpool/dump volsize 2G -
大規模ダンプデバイスを割り当てる処理には時間がかかることに注意してください。
アクティブなシステムに 2 番目のスワップボリュームを追加して、全体のスワップサイズを増やすことを考慮できる。
ZFS スワップおよびダンプデバイスの使用方法の詳細については、『Oracle Solaris 11.1 の管理: ZFS ファイルシステム』の「ZFS スワップデバイスおよびダンプデバイスを管理する」を参照してください。
動的再構成時に CPU やシステムボードで障害が発生した場合に対応できるよう、十分なスワップ空間を確保することをお勧めします。スワップ空間が不足していると、CPU やシステムボードで障害が発生した際に、ホストまたはドメインはより少ないメモリーでリブートしなければなりません。
この追加スワップ空間を使用できない場合、メモリー不足のためアプリケーションの起動に失敗する可能性があります。この問題が発生した場合は、ユーザーが介入して、スワップ空間を追加するか、起動に失敗したアプリケーションのメモリー使用の構成を変更する必要があります。
リブート時のメモリー破損に備えて十分な追加スワップ空間が確保されていた場合、メモリーを大量に消費するアプリケーションのすべてが、通常どおりに起動します。したがって、スワップの多発によりシステムの動作は多少遅くなるにしても、ユーザーは通常どおりにシステムを利用できます。
詳細は、使用するハードウェアの動的構成ガイドを参照してください。
SAN 環境などで、ネットワークで接続されたディスクにスワップ空間を構成するかどうかを判断するには、次の点を確認してください。
ローカルに接続されたディスクのスワップ空間の問題を診断する方が、ネットワークで接続されたディスクのスワップ空間の問題を診断するより簡単です。
SAN 経由のスワップ空間のパフォーマンスは、ローカルに接続されたディスクに構成されているスワップ空間と同等になります。
システムのパフォーマンスに問題がある場合は、パフォーマンスデータを分析したあとでシステムにメモリーを追加する方が、ローカルに接続されたディスクにスワップを移動するよりも、SAN 経由のスワップのパフォーマンス問題をより適切に解決できる可能性があります。