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

lpg_alloc_prefer

備考欄

大規模なメモリーページの割り当てを行う際に、要求されたページサイズがローカルのメモリーグループ内ではすぐに利用できないが遠隔メモリーグループからであれば要求を満たせるときにヒューリスティックを制御します。

デフォルトでは、ローカルの空きメモリーは断片化されているが、遠隔の空きメモリーは断片化されていない場合に、Solaris OS は遠隔大規模ページを割り当てます。このパラメータを 1 に設定した場合、大規模なメモリーページをローカルで割り当てるため、たとえばローカルのメモリーグループ内で小さなページを集めて大きなページに合体させるといった追加動作が行われます。

データ型

ブール型

デフォルト

0 (ローカルの空きメモリーが断片化されていて、遠隔の空きメモリーが断片化されていない場合は、遠隔割り当てを優先する)

範囲

0 (ローカルの空きメモリーが断片化されていて、遠隔の空きメモリーが断片化されていない場合は、遠隔割り当てを優先する)

1 (ローカルの空きメモリーが断片化されていて、遠隔の空きメモリーが断片化されていない場合でも、可能な場合は常にローカル割り当てを優先する)

動的か

いいえ

検査

なし

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

このパラメータを 1 に設定することが考えられるのは、システム上で長時間動作する複数のプログラムが割り当てる傾向にあるメモリーが単一のプログラムによってアクセスされている場合、または複数プログラムのグループによってアクセスされるメモリーが同じ近傍性グループ (lgroup) 内で使用されていることがわかっている場合です。これらの状況では、ページ合体操作の余分なコストをプログラムの長い実行時間にわたって償却することができます。

このパラメータをデフォルト値 (0) のままにすることが考えられるのは、複数のプログラムが異なる近傍性グループにわたってメモリーを共有する傾向にある場合や、ページが短期間だけ使用される傾向にある場合です。このような状況では、特定の場所における割り当てよりも、要求されたサイズをすばやく割り当てることの方がより重要となります。

ページの場所とサイズは、http://hub.opensolaris.org/bin/view/Main/ で入手可能な NUMA 可観測性ツールを使用して監視できます。TLB の誤動作は、trapstat -T コマンドを使用して監視できます。

コミットレベル

コミットされていない