vmo コマンド

目的

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

構文

vmo [ -p | -r ] [ -y ] { -o Tunable [= Newvalue] }

vmo [ -p | -r ] [ -y ] { -d Tunable }

vmo [ -p | -r ] [ -y ] -D

vmo [ -p | -r ] [-F] -a

vmo -h [ Tunable ]

vmo [-F] -L [ Tunable ]

vmo [-F] -x [ Tunable ]

注: 複数の -o, -d, -x および -L を指定できます。

説明

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

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

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

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

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

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

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

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

チューナブル・パラメーターを変更する前に、まず、後述の チューナブル・パラメーターのセクションで すべての特性について注意深く読み、その目的を十分に理解するために、 すべての「参照」ポインターをたどるようにしてください。

次に、このパラメーターについての『診断とチューニング』のセクションがご使用のシステムの状況に 実際に当てはまるかどうか、また、このパラメーターの値を変更することがシステムのパフォーマンスを 改善するのに役立つかどうかを確認する必要があります。

「診断」および「チューニング」のセクションがいずれも「該当せず」となっている場合は、AIX® 開発担当者から特に指示がない限り、そのパラメーターは変更しないでください。

フラグ

項目 説明
-a すべてのチューナブル・パラメーターの現行値、 リブート値 ( -r オプションを指定した場合) または 永続値 (-p オプションを指定した場合) を、 Tunable = Value の対にして、1 行に 1 つずつ表示します。 永続オプションの場合、リブート値と現行値が等しいときにのみ、1 つのパラメーターに 1 つの値が表示されます。そうでない場合は、NONE が値として表示されます。
-d Tunable Tunable パラメーターをそのデフォルト値にリセットします。Tunable パラメーターは、デフォルト値に設定されていないために変更が必要ですが、以下の基準の組み合わせの 1 つ以上を満たした場合、警告メッセージが表示され、パラメーターに対する変更は行われません。
  • チューナブル・パラメーターのタイプは、Bosboot または Reboot です。
  • チューナブル・パラメーターは Incremental タイプで、そのデフォルト値から変更されており、-r フラグと組み合わせて使用されることはありません。
-D すべての Tunable 値を、それぞれのデフォルト値にリセットします。デフォルト値に設定されていないために変更が必要な Tunable が以下の基準のセットの 1 つ以上を満たしている場合、警告メッセージが表示され、変更は行われません。
  • チューナブルのタイプは Bosboot または Reboot です。
  • チューナブルは、Incremental タイプで、そのデフォルト値から変更されており、-r と組み合わせて使用されることはありません。
-F すべてのチューナブルをリストするために -a-L あるいは -x オプションがコマンド・ラインでのみ指定されている場合、制限付きチューナブル・パラメーターを強制的に表示させます。 -F フラグが指定されていない場合、制限付きチューナブルは、display オプションで明確に指名されていない限り、表示されません。
-h [ Tunable] チューナブル・パラメーターを指定すると、Tunable パラメーターに関するヘルプを表示します。指定しなければ、vmo コマンド使用法ステートメントが表示されます。
-L [ Tunable ] 1 つまたはすべての Tunable の特性を、以下の形式で、1 行に 1 つずつリストします。
NAME                      CUR    DEF    BOOT   MIN    MAX    UNIT           TYPE 
     DEPENDENCIES 
--------------------------------------------------------------------------------
memory_frames             128K          128K                 4KB pages         S 
-------------------------------------------------------------------------------- 
maxfree                   1088  1088    130    16     200K   4KB pages         D 
     minfree 
     memory_frames 
-------------------------------------------------------------------------------- 
minfree                   960    960    122    8      200K   4KB pages         D 
     maxfree 
     memory_frames 
-------------------------------------------------------------------------------- 
... 
ここで、
    CUR = 現行値
    DEF  = デフォルト値
    BOOT = リブート値
    MIN  = 最小値
    MAX  = 最大値
    UNIT =
    チューナブル計測単位
    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 Tunable[=Newvalue] 値を表示するか、Tunable を Newvalue に設定します。チューナブルを変更する必要があり (指定された値が現行値と異なる)、Bosboot または Reboot のタイプである場合、あるいは Incremental のタイプで、-r を組み合わせて使用しない場合は、チューナブル値は変更されず、警告が表示されます。

新しい値を指定せずに、-r フラグ を組み合わせて使用する場合は、Tunable のリブート値が表示されます。新しい値を指定せずに、-p を組み合わせて使用する場合は、 Tunable の現行値とリブート値が等しい場合のみ、値が表示されます。そうでない場合は、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 オプションを指定する場合は、 現行値のかわりに、Tunable のリブート値が表示されます。

-x [Tunable] 1 つまたはすべての Tunable の特性を、次のスプレッドシート形式で 1 行に 1 つずつリストします。
tunable,current,default,reboot,min,max,unit,type,{dtunable } 

ここで、
    current = 現行値
    default = デフォルト値
    reboot = リブート値
    min = 最小値
    max = 最大値
    unit =
    チューナブル計測単位
    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 は 1 K と指定します。

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

目的

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

チューニング

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

ame_maxfree_mem

目的

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

チューニング

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

ame_min_ucpool_size

目的

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

チューニング

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

ame_minfree_mem

目的

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

チューニング

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

ame_mpsize_support

目的

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

チューニング

値 0 は、AME 環境で従来の動作を有効にします。この場合、有効になるのは、4 KB と 16 MB のページ・サイズのみです。値 1 の場合は、AME 環境でサポートされているすべてのページ・サイズが有効となります。このチューナブル・パラメーターは、64 KB アクセラレーターをサポートする、POWER8 プロセッサー・ベース・サーバーまたはそれ以降でのみ変更可能です。

ams_loan_policy

目的

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

チューニング

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

force_relalias_lite

目的

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

チューニング

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

kernel_heap_psize

目的

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

チューニング

これは設定を推奨します。64 KB ページのサポートは、POWER5+ 以降のマシンによって提供され、vmm_mpsize_support が使用可能になっている場合に使用されます。POWER4 以降のマシンによって提供されている 16 MB ページは、ハイパフォーマンス環境のカーネル・ヒープにのみ使用します。値 0 は、優先デフォルト値 64 KB のページ・サイズがサポートされている場合にカーネルがこのページ・サイズを使用することを示しています。このページ・サイズがサポートされていない場合は、4 KB ページが使用されます。

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 が小さすぎる可能性があります。

nokilluid

目的

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

チューニング

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

変更の始めnpsassert変更の終わり 変更の始め

目的

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

チューニング

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

目的

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

チューニング

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

npswarn

目的

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

チューニング

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

numpsblks

目的

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

チューニング

該当なし

pinnable_frames

目的

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

チューニング

該当なし

relalias_percentage

目的

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

チューニング

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

scrub

目的

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

チューニング

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

v_pinshm

目的

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

チューニング

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

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 ユーザーおよび Trusted AIX ユーザーへの注意: このコマンドは特権命令を実行できます。 特権命令を実行できるのは特権ユーザーのみです。 権限および特権についての詳細情報は、「セキュリティー」の『特権コマンド・データベース』を参照してください。 このコマンドに関連した特権および権限のリストについては、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