本文へジャンプ

System i 再確認

単一レベル記憶域(SLS)その3

主記憶域プールと単一レベル記憶

主記憶域プールと単一レベル記憶

最後にSystem i の主記憶域のプールと単一レベル記憶との関連について説明いたします。System i は主記憶域をいくつかのプールに分割することができます。例えば、全体で512MBの主記憶域があり、これを47MBと22MBと443MBの論理的なプールに分割することができます。これらは物理的な番地を持つ連続した記憶域ではありません。各々のサイズを満たす非連続的な記憶域です。

まずシステムはマシンプールで動きます。ユーザー・ジョブはこのマシンプールでは動きません。マシンプールの大きさはシステム値QMCHPOOLで指定して決めます。例えば47MBをKB単位にして指定します。また、他のジョブ群からは独立して実行させたいジョブ群が動く場所として、明示的にプールを割り当てることができます。ここでは22MBとしましょう。さらにこの例では、主記憶域全体のサイズである512MBからマシンプール47MBと明示的なプール22MBを差し引いた値443MBは共用プールとなります。

ジョブが動き始めると、必要となるページが参照されます。このページがその時点でどこかの主記憶域プールに存在している場合には、プールを超えて参照します。しかしどの主記憶域プールにも存在しない場合には、必要とされたページはディスク装置から読み込まれます。この場合読み込まれる場所はそのページを要求したジョブが動いているプールになります。他のプールには読み込まれません。そのプールの大きさが充分でないと、ページを読み込む前に、まず、ほとんど参照されていないページの場所を上書きの候補としたり、次に、最近参照されたばかりのページをその候補とし、さらに、ディスク装置にページ・アウトして場所を確保する作業が起こります。これでは頻繁なページ・イン、ページ・アウトが起こります。従ってジョブの活動状態が高い場合には、充分なプールサイズを割り当てることが求められます 。

共用プールは、各種のジョブ群を別々の主記憶域プールで実行させるのではなく、同一のプールを使用し効果的に実行させるための場所です。前述のように明示的にプールサイズを決めることもできますが、他方システムにプールサイズを自動調整させる方法もあります。システム値QPFRADJ (Performance Adjustment)に’2’や’3’の値を指定すると、システムは定期的にプールの活動状況を調査し、最適なプールサイズを計算し、その値に変更します。