$ZSTORAGE
Synopsis
$ZSTORAGE $ZS
概要
$ZSTORAGE には、ジョブのプロセス・プライベート・メモリ用の最大メモリ量 (KB 単位) が格納されます。このメモリは、ローカル変数、スタック、他のテーブルに利用できます。このメモリ制限には、ルーチン・オブジェクト・コードのスペースは含まれていません。このメモリは、必要に応じて (例えば配列を割り当てるときなどに) プロセスに割り当てられます。
一度このメモリがプロセスに割り当てられると、通常はプロセスが終了するまで、その割り当ては解除されません。ただし、大量の (例えば 32 MB を超える) メモリが使用されてから解放された場合、可能であれば、Caché は割り当て解除されたメモリをオペレーティング・システムに戻します。
$ZSTORAGE を使用して、最大メモリ・サイズを設定することもできます。例えば、以下の文はジョブの最大プロセス・プライベート・メモリを 524288 KB に設定します。
SET $ZSTORAGE=524288
$ZSTORAGE を変更すると、$STORAGE 特殊変数の初期値が変化します。これはプロセスで使用できる現在メモリ (バイト) です。
$ZSTORAGE の最大値は 2147483647 です。$ZSTORAGE の既定値は 262144 です。$ZSTORAGE の最小値は 128 です。$ZSTORAGE の値が、最大値よりも大きいか最小値よりも小さい場合は、自動的に既定の最大値または最小値に設定されます。$ZSTORAGE は整数値に設定されます。Caché では、いかなる小数部も切り捨てられます (指定した場合)。
$ZSTORAGE の既定値は、[プロセス当たりの最大メモリ(KB)] システム構成設定を変更することによって変更できます。管理ポータルで、システム, 構成, メモリと開始設定 に移動します。必要に応じて最大 2147483647 KB まで、[プロセス当たりの最大メモリ(KB)] を増やすことができます。[プロセス当たりの最大メモリ(KB)] を変更すると、続いて開始されたプロセスの $ZSTORAGE 値も変更されます。ただし、現在のプロセスの $ZSTORAGE 値には影響を与えません。
例
以下の例では、$ZSTORAGE を最大値および最小値に設定します。$ZSTORAGE を、最小値より少ない値 (16) に設定しようとすると、自動的に $ZSTORAGE は最小値 (128) に設定されます。
SET $ZS=128
WRITE "minimum storage=",$ZS,!
SET $ZS=16
WRITE "less than minimum storage=",$ZS,!
SET $ZS=2147483647
WRITE "maximum storage=",$ZS,!
関連項目
SET コマンド
KILL コマンド
$STORAGE 特殊変数