VMM メモリー・ロード制御機能

プロセスの実行には実メモリー・ページが必要です。 プロセスがディスク上の仮想メモリー・ページを参照する場合、それがページアウトされているか、または読み取られたことがないために、 参照されるページをページインする必要があり、平均して 1 ページ以上のページがページアウトされるので、 (置換されたページが変更されている場合)、入出力トラフィックが発生し、プロセスの進行が遅れることになります。

オペレーティング・システムは、ページ置換アルゴリズムにより、 近い将来参照される見込みのないページから実メモリーをスチールしようとします。 よくできたページ置換アルゴリズムは、オペレーティング・システムが、 十分なプロセスをメモリー内でアクティブに保って、CPU をビジーに保つようにします。 しかし、あるレベルのメモリーの競合では、近い将来すべてのページがプロセスのアクティブなプロセスによって再利用されるので、 ディスクへのページアウトに適した候補となるページはありません。 この状態は以下のものによって決まります。

  • システム内のメモリーの合計量
  • プロセスの数
  • 時間によって変化する各プロセスのメモリー所要量
  • ページ置換アルゴリズム

この状態になると、ページインおよびページアウトが連続して起こります。 この状態をスラッシング といいます。 スラッシングの結果、絶え間なくページング・ディスクへの入出力が行われるため、 各プロセスはディスパッチされるとすぐにページ・フォールトを検出し、 どのプロセスも一向に進捗しないという結果になります。

スラッシングの最も破壊的な局面は、スラッシングがワークロードの短時間の、 ランダムなピーク (例えば、システムのすべてのユーザーがたまたま同時に Enter キーを押したなど) によって引き起こされているにもかかわらず、 システムは無期限に長時間スラッシングを継続する可能性があることです。

オペレーティング・システムは、メモリー・ロード制御アルゴリズムを持っており、 システムがスラッシングを開始するとそれを検出して、アクティブ・プロセスを中断し、 新規プロセスの始動を一定期間遅らせます。 5 つのパラメーターが、このアルゴリズムの比率およびバウンダリーを設定します。 これらのパラメーターのデフォルト値は、広範囲のワークロードにわたって「フェイルセーフ」となるように選択されています。 AIX® バージョン 4 では、使用可能なメモリー・フレームの合計が 128 MB 以上となるシステムでのメモリー・ロード制御は、デフォルトで使用不可になっています。