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

ページング関連のチューニング可能パラメータ

Solaris 2.6 カーネルパッチの一部のリビジョン (SPARC プラットフォームの 105181-10 および Intel プラットフォームの 105182-09) と Solaris 7 リリースで、新しいパラメータが導入されました。 priority_paging (優先度ページング) です。ページアウトスレッド活動の新しい開始点 (cachefree) も使用されます。使用可能なメモリーが cachefreelotsfree の間にある間は、実行可能部分 (テキスト、スタック、またはデータ) からのページである場合は、優先度ページングはそのページをスキップするようページ検査のアルゴリズムを変更します。メモリーが lotsfree を下回ると、すべてのページが同等にみなされます。この機能はデフォルトで無効になっています。この機能を有効にするには、cachefreelotsfree より大きい値を設定するか、priority_paging 変数にゼロ以外の値を設定します (cachefreelotsfree の 2 倍の値が設定されます)。

cachefree (Solaris 8 リリース)

説明

Solaris 8 リリースで、ファイルシステムページのキャッシュ方法が変更されました。これらの変更には、優先度ページング機能が含まれます。


注 –

cachefreepriority_paging の両方の設定を /etc/system ファイルから削除してください。


キャッシュ方法の変更により、ファイルシステムの動作に伴って発生する仮想メモリーシステムへの負担がほとんど解消されます。統計によると、次のような新しい動作が見られます。

  • ページ再利用の数が多くなります。これは、入出力が終了すると、ページが明示的に空リストに追加されるためです。

  • 空きメモリーが増えます。これは、空きメモリーのカウントにファイルキャッシュの大部分が含まれるためです。

  • 走査率が大幅に減ります。

コミットレベル

廃止または互換性がなくなる可能性あり

変更履歴

詳細は、cachefree (Solaris 2.6 リリースおよび Solaris 7 リリース)を参照してください。

cachefree (Solaris 2.6 リリースおよび Solaris 7 リリース)

説明

cachefreelotsfree より大きい値を設定すると、優先度ページング機能が有効になります。この変数は、少なくともパッチ 105181 のリビジョン 10 がインストールされた Solaris 2.6 リリース、および Solaris 7 リリースが動作するシステムで使用できます。この機能は、デフォルトでは無効になっています (cachefreelotsfree が等しい)。

データ型

符号なし long

デフォルト

priority_paging が設定されていない場合は、lotsfree の値です。設定されている場合は、cachefreelotsfree の 2 倍です。

範囲

lotsfree からシステムの物理メモリー量

単位

ページ

動的か

はい

検査

lotsfree より小さいと、lotsfree の値にリセットされます。

どのような場合に変更するか

システムのメモリーが逼迫している場合、およびファイルの内容が将来必要であるような入出力を極めて多く行う場合を除き、常に有効にしておくべきです。

コミットレベル

廃止または互換性がなくなる可能性あり

priority_paging (Solaris 8 リリース)

説明

この変数に基づき lotsfree の 2 倍の値が cachefree に設定されます。

Solaris 8 リリースで、ファイルシステムページのキャッシュ方法が変更されました。これらの変更には、優先度ページング機能が含まれます。


注 –

cachefreepriority_paging の両方の設定を /etc/system ファイルから削除してください。


コミットレベル

廃止または互換性がなくなる可能性あり

変更履歴

詳細は、priority_paging (Solaris 2.6 リリースおよび Solaris 7 リリース)を参照してください。

priority_paging (Solaris 2.6 リリースおよび Solaris 7 リリース)

説明

優先度ページング機能を有効にします。設定すると、cachefreelotsfree の 2 倍の値が設定され、優先度ページングが有効になります。

データ型

符号付き整数

デフォルト

0

範囲

(cachefree が別途設定されていない場合、優先度ページングを無効にする) か 1 (有効にする)

単位

切り替え (オン/オフ)

動的か

いいえ。cachefree の値はブート時にのみ設定します。実行時に有効にするには、システムの動作中に mdb cachefree を設定します。

検査

なし

どのような場合に変更するか

システムのメモリーが逼迫している場合、およびファイルの内容が将来必要であるような入出力を極めて多く行う場合を除き、常に有効にしておくべきです。

コミットレベル

廃止または互換性がなくなる可能性あり

tmpfs:tmpfs_minfree

説明

TMPFS がシステムの他の部分のために残しておくスワップ空間の最小量

データ型

符号付き long

デフォルト

256

範囲

0 からスワップ空間サイズの最大値

単位

バイト

動的か

はい

検査

なし

どのような場合に変更するか

TMPFS が大量に使用されるシステムで適度なスワップ空間を維持するために、この値を増やすことができます。次のメッセージがコンソールやシステムメッセージファイルに出力された場合は、使用量がこの限度に達したことを示しています。


fs-name: File system full, swap space limit exceeded
コミットレベル

変更の可能性あり

pages_pp_maximum (Solaris 9 より前のリリース)

説明

ロックされていないことをシステムが要求するページ数を定義します。ページのロック要求によって使用可能なメモリーがこの値を下回る場合は、その要求は拒否されます。

データ型

符号なし long

デフォルト

200、tune_t_minarmem + 100、[ブート時に使用可能なメモリーの 10%] 、のうちで最も大きいもの

範囲

デフォルト値から物理メモリーの 20% 以内。システムは、「検査」の項目で記述されていなければ、この範囲を強制しません。

単位

ページ

動的か

はい、ただしメモリーの追加や削除を伴う動的再構成が行われると、動的に変更した値は無効になります。その時点でこの値は、/etc/system ファイルに指定された値か、計算された値にリセットされます。

検査

200、tune_t_minarmem + 100、[使用可能なメモリーの 10%]、/etc/system からの値の中で最も大きいもの。/etc/system からの値が増やされても、メッセージは表示されません。ブート時にのみ行われます。

どのような場合に変更するか

メモリーのロック要求や、SHARE_MMU フラグを指定した共有メモリーセグメントへの接続が失敗したが、使用可能なメモリーが十分ありそうな場合。32G バイトシステムで、メモリーの 10% を空き状態に維持することは過剰である場合があります。

値が大きすぎると、メモリーロック要求が不必要に失敗する可能性があります。

コミットレベル

変更の可能性あり