vmo コマンド

目的

仮想メモリー・マネージャー (Virtual Memory Manager) の Tunable (チューナブル) パラメーターを管理します。

構文

VMO [ P-| - [-K (K)]] [ -y (Y) ] { - チューナブル [= 新しい値] }

VMO [ P- |- [-K (K)]] [ -y (Y) ] { -d 年 チューナブル }

VMO [ P- |- [-K (K)]] [ -y (Y) ] -D

VMO [ P- | - | -K (K)] [ -F (R) ] -a 値

vmo -h [ チューナブル ]

VMO [ -F (R) ] [ -K (K) ] -L (L) [ チューナブル ]

VMO [ -F (R) ] [ -K (K) ] -x (X) [ チューナブル ]

注: 複数の -o-d-x、および -L を使用できます。

説明

注: vmo コマンドは root のみが実行できます。 vmo コマンドは、自己文書化コマンドです。 一部のフラグまたはチューナブル・パラメーターに関する情報が、欠落していたり、期限切れになっている場合があります。 すべてのフラグの最新リストを見つけるには、 -h-L、または -x フラグを使用します。

vmo コマンドを使用して、仮想メモリー・マネージャー (VMM) のチューニング・パラメーターを構成します。 このコマンドは、すべての仮想メモリー・マネージャー (VMM) のチューニング・パラメーターの現行またはリブート値を設定したり、 表示します。 このコマンドを使用して、 永続的な変更を行ったり、あるいは次のリブートまで変更を先送りすることも できます。 コマンドがパラメーターを設定するのか表示するのかは、一緒に指定するフラグによって決まります。 -o フラグはこの両方のアクションを指定します。 パラメーターの値を表示したり、パラメーターに新しい値を設定したりすることができます。

仮想メモリー・マネージャー (VMM) は、フリーの実メモリー・ページ・フレームのリストを保守します。 ページ・フレームは、ページ・フォールトを満たすのに必要な仮想メモリー・ページを保持するために使用できます。 フリー・リストのページ数が minfree パラメーターで指定された値を下回ると、VMM はフリー・リストに追加するページをスチールします。 VMM は、フリー・リストに maxfree パラメーターで指定されたページ数以上になるまで、ページのスチールを続けます。

メモリー内のファイル・ページ (永続ページ) の数が minperm% パラメーターで指定された数より少ない場合、VMM は、再ページ率に関係なく、計算ページまたはファイル・ページのいずれかからフレームをスチールします。 ファイル・ページの数が maxperm% パラメーターで指定された数より大きい場合、VMM はファイル・ページからのみフレームをスチールします。 この 2 つの間で、VMM は通常、ファイル・ページのみをスチールしますが、ファイル・ページの repage 率が計算ページの repage 率を上回る場合は、計算ページもスチールされます。

システムでページング・スペースがなくなる時点を判別するのに使用するしきい値を変更することもできます。 npswarn パラメーターは、使用可能なページング・スペース・ページの数を指定します。この数に達すると、システムはページング・スペースが少ないという警告プロセスを開始します。 npskill パラメーターは、ページング・スペースを解放するためにシステムがプロセスの停止を開始する、使用可能なページング・スペース・ページの数を指定します。

注: オプション -o-d、および -Dは、仮想メモリー・マネージャーのチューナブル・パラメーターの値を変更しようとしますが、ワークロード・パーティション内ではサポートされません。

チューナブル・パラメーター変更の効果の理解

このコマンドを誤用すると、パフォーマンスの低下またはオペレーティング・システム障害の原因となります。 vmo コマンドを試す前に、 仮想メモリー・マネージャーのパフォーマンスの概要maxclient パラメーターによる拡張 JFS ファイル・システム・キャッシュの制限の両方をよく理解しておいてください。

チューナブル・パラメーターを変更する前に、まず「 チューナブル・パラメーター 」セクションでそのすべての特性についてよく読んで、その目的を十分に理解する必要があります。

次に、そのパラメーターの「診断」および「チューニング」のセクションをご使用の環境に実際に適用できるかどうか、そのパラメーターの値を変更するとシステムのパフォーマンスの向上に役立つかどうか、確認してください。

Diagnosis(診断)セクションとTuning(チューニング)セクションの両方に「N/A」のみが含まれている場合は、AIX開発の指示がない限り、このパラメータを変更してはならない。

フラグ

項目 説明
-a これは、すべてのチューナブル・パラメーターについて、現行値、リブート値 (-r オプションと一緒に使用される場合)、ライブ・アップデート値 (-K オプションと一緒に使用される場合)、または永続値 (-p オプションと一緒に使用される場合) を、Tunable = Value のペアで 1 行に 1 つずつ表示します。 永続オプションの場合、リブート値と現行値が等しいときにのみ、1 つのパラメーターに 1 つの値が表示されます。 そうでない場合は、NONE が値として表示されます。
-d チューナブル これは、チューナブル・パラメーターをデフォルト値にリセットします。 チューナブル・パラメーターはデフォルト値に設定されていないために変更が必要ですが、チューナブル・パラメーターが以下の基準セットの 1 つ以上を満たす場合は、警告メッセージが表示され、パラメーターは変更されません。
  • チューナブル・パラメーターのタイプが Bosboot または Reboot である。
  • チューナブル・パラメーターのタイプが Incremental であり、そのチューナブル・パラメーターはデフォルト値から変更されたものであり、-r フラグが組み合わせて使用されない。
  • チューナブル・パラメーターがタイプ Reboot であり、ライブ・アップデート操作全体でサポートされている
-D これは、すべてのチューナブル・パラメーターをデフォルト値にリセットします。 デフォルト値に設定されていないために変更が必要な Tunable が以下の基準のセットの 1 つ以上を満たしている場合、警告メッセージが表示され、変更は行われません。
  • チューナブルのタイプが Bosboot または Reboot である。
  • チューナブルのタイプが、Incremental であり、そのチューナブルはデフォルト値から変更されたものであり、-r が組み合わせて使用されない。
  • チューナブル・パラメーターがタイプ Reboot であり、ライブ・アップデート操作全体でサポートされている
-F すべてのチューナブルをリストするために -a-L あるいは -x オプションがコマンド・ラインでのみ指定されている場合、制限付きチューナブル・パラメーターを強制的に表示させます。 -F フラグが指定されていない場合、制限付きチューナブルは、display オプションで指名されていない限り、表示されません。
-h [チューナブル] チューナブル・パラメーターが指定されている場合は、そのパラメーターのヘルプが表示されます。 それ以外の場合は、vmo コマンドの使用法に関するステートメントが表示されます。
-K /etc/tunables/nextboot ファイルと /etc/tunables/nextliveupdate ファイルの両方にチューナブル・パラメーター値を設定します。 -K フラグは、-r フラグと一緒の場合にのみ使用できます。

-r フラグおよび -d (または -D) フラグと一緒に -K フラグを指定した場合、チューナブル・パラメーター値は、リブート操作時またはライブ・アップデート操作時に使用される /etc/tunables/nextboot ファイルおよび /etc/tunables/nextliveupdate ファイルにおけるデフォルト値に設定されます。

-K フラグを -L または -x フラグと一緒に指定すると、 vmo コマンドはライブ・アップデートの値を表示します。

-L [ チューナブル ] 1 つまたはすべてのチューナブル・パラメーターの特性を、以下の形式で 1 行に 1 つずつリストします。 -K フラグを -L フラグと一緒に指定すると、Live Update 値も表示されます。

NAME                  CUR    DEF    BOOT   MIN    MAX    UNIT           TYPE
     	DEPENDENCIES
--------------------------------------------------------------------------------
vmm_klock_mode         2      -1     2     -1     3      numeric          B
--------------------------------------------------------------------------------

... 
where: 
    CUR = current value 
    DEF = default value 
    BOOT = reboot value 
    MIN = minimal value 
    MAX = maximum value 
    UNIT = tunable unit of measure 
    TYPE = parameter type: D (for Dynamic), S (for Static), R for Reboot),
           B (for Bosboot), M (for Mount), I (for Incremental), 
           C (for Connect), and d (for Deprecated) 
    DEPENDENCIES = list of dependent tunable parameters, one per line
-o チューナブル[=Newvalue] これはチューナブル・パラメーターの値を表示したり新しい値に設定したりします。 /etc/tunables/usermodifiedファイルは、'-oフラグを使用してダイナミックチューナブルの値を変更するたびに、新しいチューナブルパラメータ値で更新される。 変更したいチューナブル・パラメーターが以下の基準セットの 1 つ以上を満たす場合は、警告メッセージが表示され、パラメーターは変更されません。
  • チューナブル・パラメーターのタイプが Bosboot または Reboot である。
  • チューナブル・パラメーターのタイプが Incremental であり、現行値が指定値より大きく、-r フラグが組み合わせて使用されない。
  • チューナブル・パラメーターのタイプが Rebootであり、チューナブル・パラメーターがライブ・アップデート操作にわたってサポートされる。

新しい値を指定せずに -o フラグと一緒に -r フラグを指定すると、チューナブルのリブート値が表示されます。 新しい値を指定せずに -o フラグと一緒に -K フラグを指定すると、チューナブル・パラメーターの次のライブ・アップデート値が表示されます。 新しい値を指定せずに -o フラグと一緒に -p フラグを指定すると、チューナブルの現行値とリブート値が同じ場合に限り、値が表示されます。 そうでない場合は、NONE が値として表示されます。

-p -o-d または -D を組み合わせて使用する場合、 現行値とリブート値の両方を変更します。つまり、現行値の更新だけでなく、 /etc/tunables/nextboot ファイルの更新もオンにします。 これらの組み合わせは Reboot および Bosboot タイプのパラメーターには使用できません。 それらの現行値は変更できないためです。

新しい値を使用せずに -a また は -o の組み合わせを使用すると、パラメーターの現 行ブート値と次のブート値が同じ場合のみ値が表示されます。 そうでない場合は、値に「NONE」が表示されます。

-r -r フラグが、新しい値を指定せずにオプションの -a または -o と組み合わせて使用されると、パラメーターの現行値と次のリブート値が等しい場合にのみ、値が表示されます。 そうでない場合は、NONE が値として表示されます。 -r フラグは、フラグ -o-d、または -D と組み合わせて使用された場合に、リブート値を変更します。 例えば、 -r フラグを使用すると、 /etc/tunables/nextboot ファイルを更新できます。 タイプが Bosboot のパラメーターを変更する場合には、bosboot コマンドを実行するようにプロンプトが出されます。

これが新しい値を指定せずに -a フラグまたは -o フラグと一緒に使用されると、現行値ではなくチューナブル・パラメーターのリブート値が表示されます。 -K フラグと一緒に使用すると、タイプ Reboot のチューナブル・パラメーターの変更は、 /etc/tunables/nextboot ファイルと /etc/tunables/nextliveupdate ファイルの両方に適用されます。

-x [チューナブル] 以下の (スプレッドシート) 形式を使用して、1 つまたはすべてのチューナブル・パラメーターの特性を 1 行に 1 つずつリストします。 -K フラグを -x フラグと一緒に指定すると、Live Update 値も表示されます。
tunable,current,default,reboot,min,max,unit,type,{dtunable}

where: 
    current = current value 
    default = default value 
    reboot = reboot value 
    min = minimal value 
    max = maximum value 
    unit = tunable unit of measure 
    type = parameter type: D (for Dynamic), S (for Static), R (for Reboot),
                B (for Bosboot), M (for Mount), I (for Incremental), 
                C (for Connect), and d (for Deprecated) 
    dtunable = list of dependent tunable parameters
-y bosboot コマンドの実行前に、確認を求めるプロンプトの出力を抑止します。

制限付きチューナブル・パラメーターが変更されると、制限付き使用タイプのチューナブルが変更されたことを示す警告メッセージが表示されます。 -r または -p のオプションが指定されると、変更を確認するようプロンプトが出されます。 さらに、システム・リブート時に、/etc/tunables/nextboot ファイルで表示された制限付きチューナブルは、そのデフォルト値とは異なる値に変更されており ( -r オプションまたは -p オプションを指定するコマンド・ラインを使用)、これらの変更されたチューナブルのリストを識別するエラー・ログに入力されます。

チューナブルを変更する場合、単位を示すため、チューナブル値に K、M、G、T、P および E のように省略形で指定することがあります。 省略形と、それに対応する値については、以下のリストを参照してください。
  • K=210
  • M=220
  • G=230
  • T=240
  • P=250
  • E=260
したがって、1024 のチューナブル値は、1K のように指定されます。

Mount タイプのパラメーターを変更 (-o-d または -D) すると、 後のマウントに対してのみ変更が有効であることをユーザーに警告するメッセージが表示されます。

Connect タイプのパラメーターを変更 (-o-d または -D フラグ) すると、inetd がリスタートとなり、後のソケット接続に対してのみ変更が有効であることをユーザーに警告するメッセージが表示されます。

Bosboot または Reboot タイプのパラメーターを -r を指定せずに (-o-d または -D で) 変更しようとすると、 エラー・メッセージが表示されます。

Incremental タイプのパラメーターの現行値を、現行値より小さい新規の値を指定して、 (-o-d または -D を指定し、-r は指定せずに) 変更しようとすると、 エラー・メッセージが表示されます。

チューナブル・パラメーターのタイプ

チューニング・コマンド (nonfsovmoiooraso、および schedo) によって操作されるすべてのチューナブル・パラメーターは、以下のカテゴリーに分類されました。
項目 説明
Dynamic パラメーターをいつでも変更できる場合
Static パラメーターをいかなる時にでも変更できない場合
Reboot パラメーターをリブート時にのみ変更できる場合
Bosboot bosboot を実行してマシンをリブートする場合にのみパラメーターを変更できる場合
Mount パラメーターの変更が将来のファイルシステムまたはディレクトリーのマウントにのみ有効である場合
Incremental ブート時を除き、 パラメーターを増やすことだけが可能な場合
Connect パラメーターへの変更が、今後のソケット接続に対してのみ有効な場合
Deprecated このパラメーターの変更が現行リリースの AIXでサポートされなくなった場合。
タイプ Bosboot のパラメーターの場合は、変更が加えられるたびに、 チューニング・コマンドは自動的に、 bosboot コマンドを実行したいかどうかを尋ねるプロンプトを出します。 タイプ Connect のパラメーターの場合は、チューニング・コマンドは自動的に inetd デーモンを再始動します。

vmo が管理するパラメーターの現行のセットには、Dynamic および Bosboot タイプのみが含まれることに注意してください。

互換モード

互換モード ( sys0 の pre520tune 属性によって制御される) で実行している場合、パラメーターのリブート値 (タイプ Bosbootを除く) このモードではブート時に適用されないため、意味がありません。 詳しくは、 パフォーマンス管理を参照してください。

互換モードでは、ブート・シーケンス中に呼び出されるスクリプトにチューニング・コマンドの呼び出しを組み込むことによって、チューニング・パラメーターにリブート値を設定できます。 Reboot タイプのパラメーターは、-r フラグを使用せずに設定できるため、既存のスクリプトは動作し続けます。

チューナブル・パラメーター

チューナブルに使用できるデフォルト値と値の範囲を表示するには、以下のように -h オプションを指定して vmo コマンドを実行します。
vmo -h <tunable_parameter_name>
チューナブル 説明
ame_cpus_per_pool (ame_cpus_per_pool)

目的

圧縮メモリー・プール当たりの CPU の率を決定します。 どの ame_cpus_per_pool CPU にも、少なくとも 1 個の圧縮メモリー・プールが作成されます。

チューニング

圧縮メモリー・プールでの競合を減らしたい場合は、低い率を使用します。 この率は、圧縮メモリー・プール数の決定に使用される唯一の要因ではありません (メモリー量とレイアウトも考慮されます)。したがって、この率に対してなんらかの変更をしても、圧縮メモリー・プール数はまったく変更されない可能性があります。 このチューナブル・パラメーターは、ライブ・アップデート操作にわたってサポートされます。

名前の最大フリー・メモリー

目的

圧縮メモリー・プールのフリー・リスト内の空きメモリーの平均量の最大値を指定します。この値に達すると、VMM は圧縮プールを縮小します。

チューニング

圧縮メモリー・プール・サイズが著しく変化する傾向がある場合は、過度の縮小操作と拡張操作が発生する可能性があります。 これは、ワークロードの作業セットのサイズが頻繁に変更される場合に発生することがあります。 このチューナブルの値を大きくすると、VMM が圧縮メモリー・プールを縮小するしきい値が上がり、縮小操作と拡張操作の全体数を減らすことができます。

AME_MIN_UCPOOL_SIZE

目的

非圧縮プールの最小サイズを定義します。

チューニング

圧縮メモリー・プールが大きくなりすぎる場合は、非圧縮メモリーを収容するために十分なスペースがない可能性があります。これが、圧縮メモリー・プールの過剰な使用によるアプリケーション・パフォーマンスの低下の原因になることがあります。 圧縮メモリー・プールのサイズを制限し、使用可能な非圧縮ページ数を増加するには、この値を大きくしてください。

名前最小メモリー (ame_minfree_mem)

目的

圧縮メモリー・プールのフリー・リスト内の空きメモリーの平均量の最小値を指定します。この値まで減少すると、VMM は圧縮プールを拡張します。

チューニング

圧縮メモリーが使用可能になるのを待ってプロセスが遅延している場合は、応答時間を改善するために ame_minfree_mem を増加します。 この値には、ame_maxfree_mem より少なくとも 64 KB 小さい値を指定する必要があることに注意してください。

ame_mpsize_support

目的

64 KB アクセラレーターをサポートする POWER8 以降のプロセッサー・ベース・サーバーの Active Memory Expansion (AME) 環境で、サポートされるすべてのページ・サイズを使用可能にします。

チューニング

値-1を指定すると、AIX®オペレーティングシステムが AME 環境に最適なモードを選択します。 値 0 では、ページ・サイズは 4 KB および 16 MB のみになります。 値 1 の場合は、AME 環境でサポートされているすべてのページ・サイズが有効となります。 この調整可能パラメーターは、64 KB アクセラレーターをサポートするPOWER8プロセッサーベースのサーバーまたはそれ以降でのみ変更できます。

「ams_loan_policy」

目的

このチューナブルは、共有メモリー・モードが使用可能になっているときに、ローニング動作を切り替えます。

チューニング

このチューナブルが 0 に設定されている場合、ローニングは使用不可です。 1 に設定すると、ファイル・キャッシュのローニングが使用可能になります。 2 に設定すると、あらゆるタイプのデータのローニングが使用可能になります。 AMS プール内のメモリー量が少なくなっている場合、VMM はそれに応答してメモリーを解放し、ハイパーバイザーにそのメモリーをローニングします。

dr_lmb_meta

目的

メモリーが論理区画に動的に追加される場合は、新たに追加されたメモリーをサポートするために一部の物理メモリーを分離して VMM データ構造に割り振る必要があります。 このチューナブル・パラメーターは、物理メモリーが既存のメモリーから割り振られるか、または新しく追加されるメモリーから割り振られるかを指定します。

チューニング

値 0 で、いくつかの物理メモリーが分離されて VMM データ構造に既存のメモリーから割り振られるか、または新しく追加されるメモリーから割り振られるかを、システムに決定させます。

値 1 で、可能な限り、既存の物理メモリーからの分離および割り振りを強制します。

値 2 で、新しく追加される物理メモリーからの分離および割り振りを構成します。

デフォルト値は 0 です。

dr_multi_lmb

目的

メモリーが論理区画に動的に追加される場合、システムではパフォーマンス向上のために複数の LMB が同時に処理されます。 このチューナブル・パラメーターは、一度に 1 つの LMB を処理するよう強制します。

チューニング

値 0 で、一度に 1 つの LMB を処理するようシステムに強制します。

値 1 で、システムは複数の LMB を同時に処理できます。

デフォルト値は 1 です。

強制再割り当て (force_relalias_lite)

目的

0 に設定されている場合、mmap 領域を解消する時に、ソースの mmap されている セグメントのロックを回避する時期を判別するために、ヒューリスティックが使用されます。

チューニング

これは、relalias_percentage によって制御される度合の指定 (計算時間がかかる可能性がある) をオフにする働きがあります。 1 に設定されている場合は、relalias_percentage の値に関係なく、可能な限りソース・セグメントのロックを回避します。

ipc_msgmnb (ipc_msgmnb)
目的:
一度に 1 つのプロセス間通信 (IPC) メッセージ・キューで許可される最大バイト数を指定します。
チューニング:
より多くのデータをアプリケーションが 1 つの IPC キューに保管する必要がある場合、このチューナブル・パラメーターのサイズを大きくすることができます。 このチューナブル・パラメーターのサイズに対する変更は、そのサイズが変更された後で作成されたメッセージ・キューに適用され、そのサイズが変更された後で発生する制御操作に適用されます。
カーネル・ヒープ・サイズ (kernel_heap_psize)

目的

カーネル・ヒープに使用するデフォルトのページ・サイズを指定します。

チューニング

これは設定を推奨します。 64 KB ページのサポートは、 POWER5+ 以降のマシンによって提供され、 vmm_mpsize_support が有効な場合に使用されます。 POWER4 以降のマシンによって提供される 16 MB ページは、ハイパフォーマンス環境下のカーネル・ヒープにのみ使用する必要があります。 値 0 は、優先デフォルト値 64 KB のページ・サイズがサポートされている場合にカーネルがこのページ・サイズを使用することを示しています。このページ・サイズがサポートされていない場合は、4 KB ページが使用されます。 このチューナブル・パラメーターは、ライブ・アップデート操作にわたってサポートされます。

lgpg_regions (lgpg_regions)

目的

SHM_LGPAGE フラグを指定した shmget() システム・コールを使用する実装のために予約するラージ・ページの数を指定します。

チューニング

このオプションに加えて、lgpg_size パラメーターも使用する必要があります。 shmget ()を呼び出すときは、SHM_LGPAGE フラグを指定するようにアプリケーションを変更する必要があります。 これにより、多数の TLB ミスがあり、大量のメモリーがアクセスされている場合のパフォーマンスが向上します。

このパラメーターは DLPAR 対応システムでは Dynamic ですが、bosboot コマンドの実行時に nextboot 値がブート・イメージに書き込まれるので、リブート時に最適な設定がリストアされます。

lgpg_size

目的

SHM_LGPAGE フラグを指定した shmget() システム・コールのインプリメンテーションに使用される、ハードウェアがサポートするラージ・ページのサイズ (バイト数) を指定します。

チューニング

Power4 以降のシステムでサポートされます。 このパラメーターは DLPAR 対応システムでは Dynamic ですが、bosboot コマンドの発行時に nextboot 値がブート・イメージに書き込まれるので、リブート時に最適な設定がリストアされます。 このパラメーターに加え、lgpg_regions パラメーターをゼロ以外の値に設定する必要があります。 shmget() サブルーチンを呼び出す場合に、SHM_LGPAGE フラグを指定するようアプリケーションを変更する必要があります。 これにより、多くの TLB ミスがあり、大量のメモリーがアクセスされているような場合、パフォーマンスが改善されます。

「low_ps_handling」

目的

低ページング・スペース状態でのプロセス終了に関連するシステム動作を変更するためのアクションを指定します。

チューニング

値が 1 の場合、低ページング・スペース時に、プロセス終了を行うという現行の動作を示します。 値が 2 の場合は、低ページング・スペース状態から回復するまでにその他のプロセスが見つからなかった場合に、SIGDANGER ハンドラーをもつプロセスが強制終了されるという新規の動作を示しています。

maxfree

目的

フリー・リスト上のフレームの最大数を指定します。この数に達するとページ・スチールは停止されます。

チューニング

vmstat -n コマンドを使用してフリー・リスト・サイズの変更を監視します。 vmstat -n コマンドの表示から、アプリケーションの要求によってフリー・リストのサイズが頻繁に minfree を下回っていることが示される場合は、maxfree の値を大きくして、フリー・リストを補充するためのコールの数を減らしてください。 この値を高く設定しすぎると、ページ置換が長時間実行されることになります。 maxfreeminfree の差は、ほぼ maxpgahead 程度で、8 以上でなければなりません。

最大ピン% (maxpin%)

目的

ピンできる実メモリーの最大パーセントを指定します。

チューニング

空きメモリーが使用可能なのにメモリーをピンできない場合は変更します。 この値を変更する場合は、必ず新規値では、カーネルが使用するために実メモリーの少なくとも 4 MB をピン解除したままにしておいてください。 vmo コマンドは、maxpin% を対応する maxpin 絶対値に変換します。これがカーネルによって使用される値です。 このパラメーターは、最大負荷のベンチマークなどの極端な状態でのみ変更してください。

bosboot コマンドが発行されると、この動的パラメーターの nextboot 値がブート・イメージに書き込まれます。

memory_frames

目的

有効なメモリー・フレームの数。

チューニング

該当なし

memplace_data

目的

データのデフォルトのメモリー配置ポリシーを指定します。

チューニング

主実行可能モジュール (初期化されたデータ、BSS)、ヒープ、共有ライブラリー、および実行時にロードされたオブジェクト・モジュールのデータを参照します。 データ配置は、ファースト・タッチ (値 1)、システム全体でラウンドロビン (値 2)、あるいはシステムによってメモリーの最適な配置が決定される、自動 (値 0) に設定できます。

memplace_mapped_file

目的

(shmat() および mmap() などによって) プロセスのアドレス・スペースにマップされるファイルのデフォルトのメモリー配置ポリシーを指定します。

チューニング

メモリー・マップ・ファイル配置のポリシーのデフォルトは、ファースト・タッチ (値 1)、システム全体でラウンドロビン (値 2)、あるいは、システムによってメモリーに最適な配置が決定される、自動 (値 0) に設定できます。

memplace_shm_anonymous

目的

匿名共有メモリーのデフォルトのメモリー配置ポリシーを指定します。

チューニング

匿名共有メモリーは、shmget() または mmap() によって作成された作業記憶域を指します。これには作成プロセスかその子孫しかアクセスできません。 このメモリーは名前 (またはキー) に関連付けられていません。 匿名共有メモリーのデフォルト配置は、システム全体でファースト・タッチ (値 1) またはラウンドロビン (値 2)、あるいは、システムによってメモリーに最適な配置が決定される、自動 (値 0) に設定できます。

memplace_shm_named

目的

名前付き共有メモリーのデフォルトのメモリー配置ポリシーを指定します。

チューニング

名前付き共有メモリーは、shmget() または shm_open() によって作成された作業記憶域を指します。これは名前 (すなわちキー) と関連付けられているので、この名前 (キー) を使用して複数のプロセスがこのメモリーに同時にアクセスできます。 名前付き共有メモリーのデフォルト配置は、システム全体でファースト・タッチ (値 1) またはラウンドロビン (値 2)、あるいは、システムによってメモリーに最適な配置が決定される、自動 (値 0) に設定できます。

memplace_stack

目的

プログラム・スタックのデフォルトのメモリー配置ポリシーを指定します。

チューニング

スタック配置は、システム全体でファースト・タッチ (値 1) またはラウンドロビン (値 2)、あるいは、システムによってメモリーに最適な配置が決定される、自動 (値 0) に設定できます。

memplace_text

目的

アプリケーション・テキストのデフォルトのメモリー配置ポリシーを指定します。

チューニング

これは主実行可能モジュールのテキストにのみ適用され、その従属には適用されません。 テキスト配置は、システム全体でファースト・タッチ (値 1) またはラウンドロビン (値 2)、あるいは、システムによってメモリーに最適な配置が決定される、自動 (値 0) に設定できます。

memplace_unmapped_file

目的

read()/write() など、マップ解除されたファイル・アクセスのデフォルトのメモリー配置ポリシーを指定します。

チューニング

マップ解除されたファイル・アクセスのデフォルト配置は、システム全体でファースト・タッチ (値 1) またはラウンドロビン (値 2)、あるいは、システムによってメモリーに最適な配置が決定される、自動 (値 0) に設定できます。

minfree

目的

フリー・リスト上のフレーム数の最小値を指定します。 この値まで減少すると、VMM はフリー・リストを補充するためにページをスチールし始めます。

チューニング

ページ置換は、空きフレームの数が minfree に達した時に起こります。 ページ・スチールによってプロセスが遅延している場合は、応答時間を改善するために minfree を増やしてください。 maxfreeminfree の差は、ほぼ maxpgahead 程度で、8 以上でなければなりません。

minperm% (minperm%)

目的

これを下回ると、ページング率に関係なく、ページ・スチール機能がファイルまたは計算ページをスチールするポイントを指定します。

チューニング

メモリー内のファイル・ページ数が多いために作業記憶域ページの置換が発生している場合は、このパラメーターを減らすことができます。 一方、繰り返し読み取られているファイルがいくつかあり、入出力率が始動時から時間とともに減少しない場合は、minperm が小さすぎる可能性があります。

nokilluid

目的

この値より下のユーザー ID は、低ページ・スペース状態が原因で強制終了されることはありません。

チューニング

値 0 はオフを表します。 システムのページング・スペースがなくなって、システム管理プロセスが強制終了されているときに有用です。 低ページ・スペースが原因で特定のユーザー ID プロセスが強制終了されることのないようにこのチューナブルを 1 に設定するか、使用可能なページング・スペースを十分に確保してください。

npsassert (npsassert)

目的

システムがページング・スペースを使い尽くしたときに LPAR をアサートします。

チューニング

  • このチューナブルに値 0 を設定すると、従来の動作が行われます。空きページング・スペースが npskill しきい値に達したときにプロセスが強制終了されます。 vmo チューナブル low_ps_handling は、どのプロセスが強制終了されるかに影響します。 空きページング・スペースが危険なレベルに達したときに SIGDANGER シグナルがプロセスに送られます。
  • このチューナブルを値 1 に設定すると、ページング・スペースが完全に使い尽くされたときに LPAR をアサートします。 空きページング・スペースが npskill レベルに達してもプロセスは強制終了されません。 空きページング・スペースが危険なレベルに達したとき、SIGDANGER シグナル・メカニズムは抑止され、プロセスには通知されません。
npskill

目的

オペレーティング・システムがプロセスの強制終了を開始する空きページング・スペース・ページの数を指定します。

チューニング

デフォルト値は、64 と (ページング・スペースのページ数) / 128 の大きいほうです。 npskill の値は、ゼロより大きく、かつシステム上のページング・スペース・ページの合計数より小さくなければなりません。

npswarn

目的

オペレーティング・システムが SIGDANGER シグナルをプロセスに送信し始める空きページング・スペース・ページの数を指定します。

チューニング

デフォルト値は、512 と (4*npskill) の大きいほうです。 npswarn の値は、ゼロより大きく、かつシステム上のページング・スペース・ページの合計数より小さくなければなりません。 低ページング・スペースが原因でプロセスが強制終了される場合は、この値を大きくしてください。

ブロック数 (numpsblks)

目的

ページング・スペース・ブロックの合計数。

チューニング

該当なし

ピン・フレーム数

目的

ピンに使用できるページ数。

チューニング

該当なし

relalias_percentage (relalias_percentage)

目的

force_relalias_lite が 0 に設定されている場合、これはソースの mmap されたセグメントのロックを回避するかどうかを決めるためにヒューリスティックで使用される要因を指定します。

チューニング

これは、mmap された領域が破壊されるときに使用されるスケーラビリティー・ステートメントで、これによりロックが回避されるのでシステムのスループットが向上する可能性がありますが、場合によっては使用される計算時間が長くなります。 マップ解除されるページ数が、この値を 100 で除算し、mmap されたソース・セグメント内のメモリー内のページ総数を乗算した数値よりも小さい場合、ソースのロックは回避されます。 relalias_percentage の値が 0 で、force_relalias_lite も 0 に設定されている場合、ソース・セグメントのロックは必ず発生します。 relalias_percentage の有効値はワークロードによって異なりますが、推奨値は 200 です。

修正

目的

「据え置きページ・スペース割り振りポリシー」ページ用にメモリー内のページからページング・スペース・ディスク・ブロックを解放することを使用可能または使用不可にします。

チューニング

値 0 は消し込みを完全に使用不可にします。 値 1 が指定されている場合は、システム・フリー・ページング・スペース・ブロックの数が npsscrubmin 未満であれば、メモリー内のページング・スペース・ディスク・ブロックの消し込みが可能になり、npsscrubmax の値を上回るまで継続されます。

v_pinshm

目的

1 に設定されると、共有メモリー・セグメントのピンが可能になります。

チューニング

値 0 はオフを表します。 共有メモリー・セグメントから AIO バッファーをピンまたはピン解除する際のオーバーヘッドが高い場合は、この値を変更してください。 shmget() 呼び出しの実行時にアプリケーションが SHM_PIN フラグも設定する場合や、共有メモリー・セグメントからの非同期入出力を実行している場合にのみ有用です。

vmm_default_pspa (vmm_default_pspa)

目的

このチューナブルは、ページ・サイズ・プロモーションのデフォルトのアグレッシブネスを制御します。 この値は、オペレーティング・システムによってページ・プロモーションしきい値の逆として扱われる抽象的なアグレッシブネスの重み付けです。

チューニング

vmm_default_pspa 設定に値 0 を設定することは、100% のページ・プロモーションしきい値と同等です。すなわち、プロモートされるためには、メモリー範囲は 100% の実メモリーを占有している必要があります。 vmm_default_pspa 設定に値 100 を設定することは、0 % のページ・プロモーションしきい値と同等です。すなわち、メモリー範囲はその範囲内のメモリーが初めて参照されると即時プロモートされます。 vmm_default_pspa 設定に値 -1 を設定することは、ページ・プロモーションしきい値 -1 と同等です。すなわち、メモリー範囲のページ・プロモーションは決して行われません。 ページ・サイズ・プロモーションしきい値が考慮されるのは、セグメント作成時のみです。 したがって、vmm_default_pspa の変更は、チューナブルの調整後に作成されたセグメントのページ・サイズ・プロモーションしきい値にのみ影響します。

wlm_memlimit_nonpg

目的

非ページング可能ページ・サイズ (16M、16G) を WLM realmem カウントと virtmem カウントに含めるかどうかを選択します。 1 を選択すると、非ページング可能ページ・サイズは realmem 限界カウントと virtmem 限界カウントに含められます。 0 を選択すると、ページング可能ページ・サイズ (4K、64K) のみが、realmem カウントと virtmem カウントに含められます。 この値は、WLM Memory アカウンティングがオフの場合にのみ変更できます。さもないと変更は失敗します。

チューニング

このチューナブルが 0 に設定されている場合、WLM 仮想メモリー制限と実メモリー制限は、WLM クラスによって消費されるページング可能ページにのみ適用されます。 ページング可能ページを頻繁に使用するとシステム上でページングが発生するため、値 0 は、非ページング可能ページが使用されているときに WLM クラスが行うページングの量について、より細かい制御を提供します。 このチューナブルは、非ページング可能ページによって構成されているシステム上で WLM 実メモリー制限または仮想メモリー制限が使用されている場合にのみ調整する必要があります。

セキュリティー

RBAC ユーザーへの注意: このコマンドは特権命令を実行できます。 特権命令を実行できるのは特権ユーザーのみです。 権限と特権の詳細については、セキュリティ特権コマンドデータベースを参照してください。 このコマンドに関連する特権と権限のリストについては、'lssecattrコマンドまたは'getcmdattrサブコマンドを参照のこと。

  1. vmo コマンドが管理するすべてのチューナブル・パラメーターの、現行値とリブート値、範囲、単位、タイプ、および依存関係をリストするには、次のコマンドを入力します。
    vmo -L
  2. POWER4 システムで 16 MB ラージ・ページをオンにして予約するには、次のコマンドを入力します。
    vmo -o lgpg_regions=10 -o lgpg_size=16777216

    このコマンドはユーザーに bosboot を出すよう指示し、変更を有効にするにはリブートが必要であることを警告します。

  3. nokilluid チューナブル・パラメーターのヘルプを表示するには、次のコマンドを入力します。
    vmo -h nokilluid
  4. 次のリブート後に v_pinshm チューナブル・パラメーターをオンにするには、次のコマンドを入力します。
    vmo -r -o v_pinshm=1
  5. すべての vmo チューナブル・パラメーターを永続的にデフォルト値にリセットするには、次のコマンドを入力します。
    vmo -p -D
  6. すべての仮想メモリー・マネージャー (VMM) のチューニング・パラメーター用のリブート値をリストするには、次のコマンドを入力します。
    vmo -r -a
  7. vmo コマンドで管理されるすべてのチューナブル・パラメーターの現行値およびリブート値、範囲、単位、タイプおよび依存関係を (スプレッドシート形式で) リストするには、次のコマンドを入力します。
    vmo -x
  8. 次のライブ・アップデート操作において msem_nlocks チューナブル・パラメーターをオンにするには、次のコマンドを入力します。
    vmo -r -K -o msem_nlocks=1M