Oracle® Solaris 11.2 カーネルのチューンアップ・リファレンスマニュアル

印刷ビューの終了

更新: 2014 年 12 月
 
 

ページング関連パラメータ

Solaris OS では、必要に応じてページングされる仮想メモリーシステムを使用します。システムの稼働に伴ってページが必要になると、そのページがメモリーに読み込まれます。メモリーの占有率が一定のしきい値を超え、さらにメモリーの要求が続くと、ページングが発生します。ページングには、特定のパラメータで制御されるいくつかのレベルがあります。

一般的なページングアルゴリズムは次のとおりです。

  • メモリーの不足が認識されます。ページ走査スレッドが実行され、メモリーのチェックを開始します。この際、2 段階のアルゴリズムが使用されます。

    1. 使用されていないページを識別します。

    2. 一定の間隔後にもそのページが使用されていなければ、そのページを再利用の対象とみなします。

    ページが変更されていれば、ページアウトスレッドに対して、ページの入出力をスケジューリングするように要求されます。さらに、ページスキャナが引き続きメモリーを調べます。ページアウトは、そのページをページのバッキングストアに書き込み、空リストに置くようにします。ページスキャナがメモリーを走査するときに、ページの内容の区別はありません。ページは、データファイルからのものもあれば、実行可能ファイルのテキスト、データ、スタックからのものもあります。

  • システムのメモリーの使用が著しくなってくるに従い、このアルゴリズムは、再利用の候補とみなすページや、ページングアルゴリズムを実行する頻度に関する基準を強化します。(詳細は、fastscanおよびslowscanを参照してください)。使用可能なメモリーが lotsfree から minfree の範囲内になると、システムはページアウトスレッドが呼び出されるたびに走査するメモリー量を、slowscan で指定された値から fastscan で指定された値に直線的に増やします。システムは、desfree パラメータを使用して、リソースの使用や動作に関する決定回数を制御します。

システムはページアウト操作を 1 つの CPU の 4% 以内の使用に限定しようとします。メモリーへの負荷が大きくなると、それに比例してページアウト操作をサポートするために消費される CPU 時間が増加し、最大で 1 つの CPU の 80% が消費されます。このアルゴリズムは、slowscanfastscan の間のメモリー量を調べ、次の条件のどれかに当てはまると走査を終了します。

  • メモリー不足を解消するだけのページが見つかりました。

  • 予定のページ数を調べました。

  • 長すぎる時間が経過しました。

ページアウトが走査を終了してもメモリー不足が解消しない場合は、後で別の走査が 1/4 秒間スケジュールされます。

ページングサブシステムの構成メカニズムが変更されました。システムは fastscanslowscan、および handspreadpages の事前定義された値を使用せずに、ブート時にこれらのパラメータへ適切な値を割り当てます。/etc/system ファイル内のこれらのパラメータを設定すると、システムが最適でない数値を使用する場合があります。


Caution

注意  -  /etc/system ファイルから、VM システムのチューニングをすべて削除してください。まずデフォルトの設定値で実行してから、これらのパラメータの調整が必要かどうかを判定してください。また、cachefree および priority_paging を設定しないでください。


CPU とメモリーの動的再構成 (DR) がサポートされています。システムでメモリーの追加や削除を伴う DR 操作があると、該当のパラメータが /etc/system に明示的に設定されていなければ、そのパラメータ値が再計算されます。明示的に設定されている場合は、変数の値に対する制約に反しないかぎり、/etc/system に指定された値が使用されます。この場合は、値がリセットされます。