InterSystems製品のプロセスが使用するメモリ量を教えてください。

InterSystems製品のプロセスが消費するメモリは以下のとおりです。

   プロセスのプライベートな領域

  1. プロセスパーティション(ローカル変数テーブル等)
  2. 長い文字列(LongString)使用メモリ
  3. 文字列スタック...等

    プロセス間共有領域
     
  4. データベースキャッシュ
  5. ルーチンキャッシュ
  6. 一般ヒープメモリ(プロセステーブル、ロックテーブル等)


このようにプロセスが使用するメモリ領域は、プライベート領域と共有領域の大きく2種類に分かれます。

プロセスのプライベートな領域はそのプロセスのみが使用し、個々のプロセス毎にメモリを割当てます。

共有領域については、プロセス間で一つのメモリ領域を共有してアクセスしていますので実体はメモリ上に 1つです。

以下それぞれの領域の値は、管理ポータル(またはシステム管理ポータル)、構成マネージャー(5.0以前)で指定します。
※ 以降の説明では、2010.2 以前のバージョンで使用していた「システム管理ポータル」の名称を「管理ポータル」として記述します。
 

 【2012.2~】 [システム管理] > [構成 > [システム構成] > [メモリと開始設定] > [プロセスあたりの最大メモリ(KB)]
 【2011.1~2012.1】 [システム管理] > [構成] > [追加の設定] > [メモリ詳細] > [bbsiz]
 【2009.1~2010.2】 [構成] > [メモリ詳細設定] > [bbsiz]
 【5.1~2008.x】 [構成] > [詳細設定] > [カテゴリ]:Memory > [MaxMemPerProcess]

 このプロセスパーティションサイズは初期値は 128KBytes になっており、プロセスがこの領域を使用すると自動的に拡張します。

 管理ポータルでの設定は、このパーティションが拡張できる最大値を設定しています。

 プロセスで実際に長い文字列が使用されると、文字列用のメモリを、そのプロセス用のパーティションメモリ領域から割り当てるのではなく、オペレーティングシステムで malloc() により割り当てられます。

 上限はありません(仮想メモリ[=物理メモリ+ページファイル]から確保可能な上限まで)。

 文字列が破棄されると、長い文字列用に取得したメモリを解放します。

※以下ドキュメントをご参照ください
長い文字列について

 LongString有効の時のみ。
 LongStringを有効にした場合、長い文字列の処理に対応するために、文字列スタックのサイズを約 50 倍に増やします。
 (これは、プロセスで長い文字列を使用するかどうかにかかわらず、各プロセスに割り当てられるメモリの量です) 

 【2011.1~】 [システム管理] > [構成] > [システム構成] > [メモリと開始設定]
 【5.1~2010.2】 [構成] > [メモリと開始設定]

 【2011.1~】 [システム管理] > [構成] > [システム構成] > [メモリと開始設定]
 【5.1~2010.2】 [構成] > [メモリと開始設定]

 【2011.1~】 [システム管理] > [構成] > [追加の設定] > [メモリ詳細] > [gmheap]
 【2009.1~2010.2】 [構成] > [メモリ詳細設定] > [gmheap]
 【5.1~2008.x】 [構成] > [詳細設定] > [カテゴリ]:Memory > [GeneralHeapSize]

以上の要素でプロセスが使用するメモリサイズが決まり、1つのプロセスでの最大使用メモリはおおよそ上記6つの値の合計値になります。

また、全プロセスで使用するメモリサイズは以下のとおりです。

(((1)プロセスパーティション + (3)文字列スタック) × プロセス数) + (2) 長い文字列使用メモリ(全プロセス合計※) + (4) データベースキャッシュ + (5) ルーチンキャッシュ + (6) 一般ヒープメモリ

※長い文字列使用メモリとして実際にどの位のメモリ総サイズが必要になるかは、アプリケーション単位で算出する必要があります。


該当する製品: Caché, Ensemble, HealthShare/Caché Based, IRIS Data Platform, HealthShare/IRIS Based, IRIS for Health
関連トピック: <STORE>エラーが発生します。対処法を教えて下さい。
関連トピック:ローカル変数は最大どのくらいまで使うことができますか?
関連トピック:管理ポータルのメモリ関連設定項目について教えてください。
関連トピック:System routine buffer (# KB) shortage is detected.... のメッセージの意味と対処方法について
関連トピック:データベースキャッシュおよびルーチンキャッシュの最適値を設定したいです
添付ファイル:

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

FAQトップに戻る