ローカル変数は最大どのくらいまで使うことができますか?

ローカル変数の容量は、プロセスに許可する最大メモリ割り当て容量によって制限されます。

この値は、システム構成パラメータの bbsiz で設定します。

既定値は、1プロセスあたり、262,144 KB です。
(バージョン2012.1以前では 16,384 KB)

値は 128KB からスタートし、プロセスがより大きな領域を必要とする場合は、bbsiz で設定した値まで拡張します。
(バージョン2012.1以前では 128KB~49,536KB の範囲で設定できます。)

この値を超えるようなローカル変数の使用があると、 エラーが発生します。

現在のプロセスに残っている使用可能なメモリ量は、$STORAGE 変数で確認できます。(バイト単位)
詳細は以下ドキュメントページをご参照ください。
$STORAGEについて【IRIS】
$STORAGEについて


一般的に多量のローカル変数を使うと、システムが稼動するために必要なメモリ量も増加します。

大規模システムの場合には、そのことが原因でメモリ不足が発生することもあり得るため注意が必要です。

その様な事態を避けるために、なるべく、余計なローカル変数を使用しないようなシステム設計が望まれます。

多量のローカル変数が必要な場合には、プロセスプライベートグローバルで代替することを推奨します。

bbsiz の設定方法詳細については、関連トピックをご参照ください。


該当する製品: Caché, Ensemble, HealthShare/Caché Based, IRIS Data Platform, HealthShare/IRIS Based, IRIS for Health
関連トピック: InterSystems製品のプロセスが使用するメモリ量を教えてください。
添付ファイル:

アンケートにご協力をお願いします
このトピックは参考になりましたか?
このトピックに関するお問い合わせ

FAQトップに戻る