メモリ関連定義

ここでは,メモリ関連定義の各オペランドについて説明します。

なお,メモリ関連定義のオペランドには,HAサーバで指定できないオペランドがあります。HAサーバで指定できないオペランドについては,「HAサーバで指定できないXTCサービス定義」を参照してください。

形式

〔set udp_recv_message_buf_size=UDP用受信バッファサイズ〕
〔set udp_recv_message_buf_cnt=UDP用受信バッファ面数〕
〔set udp_send_message_buf_size=UDP用送信バッファサイズ〕
〔set udp_send_message_buf_cnt=UDP用送信バッファ面数〕
 set memory_xdb_area_size=初期化確保時のXDB用ワーク領域サイズ,追加確保時のXDB用ワーク領域サイズ
 set memory_xdb_limit_size=確保するXDB用ワーク領域の最大サイズ
 set memory_xtc_area_size=初期化確保時のXTC用ワーク領域サイズ,追加確保時のXTC用ワーク領域サイズ
 set memory_xtc_limit_size=確保するXTC用ワーク領域の最大サイズ
〔set memory_mdpsys_area_size=初期化確保時の大量処理用システム領域サイズ,追加確保時の大量処理用システム領域サイズ〕
〔set memory_mdpusr_area_size=初期化確保時の大量処理用ユーザ領域サイズ,追加確保時の大量処理用ユーザ領域サイズ〕
〔set mem_ibf_extend_num=受信バッファの最大拡張数〕
〔set mem_uibf_extend_num=UDP用受信バッファの最大拡張数〕
〔set mem_obf_extend_num=送信バッファの最大拡張数〕
〔set mem_uobf_extend_num=UDP用送信バッファの最大拡張数〕

オペランドの説明

udp_recv_message_buf_size=UDP用受信バッファサイズ

  ~〈符号なし整数〉((2000~66000))《33000》(単位:バイト)
UDP用受信バッファ(UIBF)のサイズをバイト単位で指定します。
UDP用受信バッファサイズには,クライアントのUDP用送信バッファサイズ以上の値を指定することをお勧めします。
参考
UDP用受信バッファは,UDPプロトコルを使用する通信で使用します。UDPプロトコルを使用する通信を次に示します。
  • トランザクション同期の一方送信メッセージの受信
  • トランザクション非同期の一方送信メッセージの受信
  • CLサーバ間の通信
    ・定義情報の受信
    ・CL同期メッセージの受信(XDBの更新ログ情報を含む)
    ・CL同期済み通知メッセージの受信
    ・実行系ダウン時のリソース回復用メッセージの受信
  • RPCサービス要求の受信

udp_recv_message_buf_cnt=UDP用受信バッファ面数

  ~〈符号なし整数〉((1~2000000))《128》
UDP用受信バッファの面数を指定します。
UDP用受信バッファは,クライアントからメッセージを受信してからUAP実行前までメッセージ単位(フラグメント時は分割単位)に使用します。処理キュー登録数(メモリ関連定義のpce_noオペランドの指定値)やフラグメント発生有無を考慮して設定してください。
UDP用受信バッファ面数に最小の値を設定する場合は,次に示す計算式の値を指定してください。

処理スレッド分+(UDP受信スレッド分×6)

(凡例)
処理スレッド分:thread_noオペランドの指定値+reserve_thread_noオペランドの指定値+1
UDP受信スレッド分:myudprcvdef定義コマンドとclgrpdef定義コマンドの-pオプションに設定したポート番号数

udp_send_message_buf_size=UDP用送信バッファサイズ

  ~〈符号なし整数〉((2000~66000))《33000》(単位:バイト)
UDP用送信バッファ(UOBF)のサイズをバイト単位で指定します。
送信メッセージサイズが送信バッファサイズより大きい場合は,分割(フラグメント)してメッセージを送信します。
参考
UDP用送信バッファは,UDPプロトコルを使用する通信で使用します。UDPプロトコルを使用する通信を次に示します。
  • トランザクション同期の一方送信メッセージの送信
  • トランザクション非同期の一方送信メッセージの送信
  • タイマトランザクション起動要求のメッセージ(CLサーバで,永続指定の場合だけ)
  • CLサーバ間の通信
    ・定義情報の送信
    ・CL同期メッセージの送信(XDB更新ログ情報を含む)
    ・CL同期済み通知メッセージの送信
    ・実行系ダウン時のリソース回復用メッセージの送信

udp_send_message_buf_cnt=UDP用送信バッファ面数

  ~〈符号なし整数〉((1~2000000))《128》
UDP用送信バッファの面数を指定します。
分割(フラグメント)が発生した場合は,分割した数の送信バッファを使用します。そのため,分割が発生する数を考慮して面数を設定してください。
分割が発生しない場合は,次の計算式で見積もってください。

(システム内で同時に発行する,UDPプロトコルを使用する通信の要求数
 +システム内で同時に起動するトランザクションブランチ数)
 ×1.5(安全率)

システム内で同時に起動するトランザクションブランチ数は,RPC関連定義のrpc_replymsg_saveオペランドにYを指定する場合に必要です。

memory_xdb_area_size=初期化確保時のXDB用ワーク領域サイズ,追加確保時のXDB用ワーク領域サイズ

  ~〈符号なし整数〉((1~1048576))(単位:キロバイト)
XDB用ワーク領域(XDBPOOL)の初期化確保時および追加確保時のサイズをキロバイト単位で指定します。
オペランドの第1指定値には,初期化時に確保するXDB用ワーク領域のサイズを指定します。第2指定値には,追加確保時に確保するXDB用ワーク領域のサイズを指定します。
注意
CLサーバ(クラスタ連携関連定義のcluster_modeオペランドにYを指定)の場合,次に示すオペランドのどちらか一方でも指定していると,このオペランドで指定して追加確保したXDB用ワーク領域のうち未使用になった領域を解放します。
  • memory_mdpsys_area_sizeオペランド
  • memory_mdpusr_area_sizeオペランド
なお,プールサイズが小さいと,XDB用ワーク領域が解放されないおそれがあります(OSの仕様)。そのため,memory_xdb_area_sizeオペランドの第2指定値には,MMAP_THRESHOLDの値以上を設定してください。
実際のメモリ要求などで追加確保されるワーク領域のサイズは,指定値と一致しないことがあります。
xdb_useオペランドにYを指定した場合は,このオペランドは省略できません。必ず,オペランドの第1指定値と第2指定値の両方を指定してください。
XDB用ワーク領域を求める計算式については,マニュアル「TP1/EE/Extended Data Cache 使用の手引」を参照してください。

memory_xdb_limit_size=確保するXDB用ワーク領域の最大サイズ

  ~〈符号なし整数〉((1~104857600))(単位:キロバイト)
memory_xdb_area_sizeオペランドの指定によって確保するXDB用ワーク領域の最大サイズを指定します。
memory_xdb_area_sizeオペランドの第1指定値(初期化確保時のXDB用ワーク領域サイズ)より小さな値を指定した場合,追加確保は行いません。
xdb_useオペランドにYを指定した場合は,このオペランドは省略できません。必ず指定してください。

memory_xtc_area_size=初期化確保時のXTC用ワーク領域サイズ,追加確保時のXTC用ワーク領域サイズ

  ~〈符号なし整数〉((1~1048576))(単位:キロバイト)
XTC用ワーク領域(XTCPOOL)の初期化確保時および追加確保時のサイズをキロバイト単位で指定します。
オペランドの第1指定値には,初期化時に確保するXTC用ワーク領域のサイズを指定します。第2指定値には,追加確保時に確保するXTC用ワーク領域のサイズを指定します。
注意
CLサーバ(クラスタ連携関連定義のcluster_modeオペランドにYを指定)の場合,次に示すオペランドのどちらか一方でも指定していると,このオペランドで指定して追加確保したXTC用ワーク領域のうち未使用になった領域を解放します。
  • memory_mdpsys_area_sizeオペランド
  • memory_mdpusr_area_sizeオペランド
なお,プールサイズが小さいと,XTC用ワーク領域が解放されないおそれがあります(OSの仕様)。そのため,memory_xtc_area_sizeオペランドの第2指定値には,MMAP_THRESHOLDの値以上を設定してください。
実際のメモリ要求などで追加確保されるワーク領域のサイズは,指定値と一致しないことがあります。
XTC用ワーク領域は,次のオペランドで指定するバッファおよびシステム用バッファの予備領域としても使用します。
  • pce_noオペランド
  • icb_noオペランド
  • time_message_noオペランド
  • recv_message_buf_cntオペランド
  • send_message_buf_cntオペランド
  • dbq_recv_message_buf_cntオペランド
  • dbq_send_message_buf_cntオペランド
  • dbq_use_buf_cntオペランド
  • udp_recv_message_buf_cntオペランド
  • udp_send_message_buf_cntオペランド
このオペランドは省略できません。必ず,オペランドの第1指定値と第2指定値の両方を指定してください。
XTC用ワーク領域を求める計算式については,リリースノートを参照してください。

memory_xtc_limit_size=確保するXTC用ワーク領域の最大サイズ

  ~〈符号なし整数〉((1~104857600))(単位:キロバイト)
memory_xtc_area_sizeオペランドの指定によって確保するXTC用ワーク領域の最大サイズを指定します。
memory_xtc_area_sizeオペランドの第1指定値(初期化確保時のXTC用ワーク領域サイズ)より小さな値を指定した場合,追加確保は行いません。
このオペランドは省略できません。必ず指定してください。

memory_mdpsys_area_size=初期化確保時の大量処理用システム領域サイズ,追加確保時の大量処理用システム領域サイズ

  ~〈符号なし整数〉((1~1048576))(単位:キロバイト)
大量処理用システム領域(MPSPOOL)を使用する場合,初期化確保時および追加確保時のサイズをキロバイト単位で指定します。
オペランドの第1指定値には,初期化時に確保する大量処理用システム領域のサイズを指定します。第2指定値には,追加確保時に確保する大量処理用システム領域のサイズを指定します。このオペランドを指定する場合は,第1指定値と第2指定値の両方を指定してください。
このオペランドを指定すると,XTCワーク領域およびXDBワーク領域の動作が次のとおり変更になります。
  • 追加確保した領域については,使用中のセグメントが存在しなくなった時点で,オンライン中に該当する領域をOSに解放(free関数を発行)します。
  • CLサーバ(クラスタ連携関連定義のcluster_modeオペランドにYを指定)の場合,待機系ではmemory_xtc_limit_sizeオペランドおよびmemory_xdb_limit_sizeオペランドの設定値が無効になります。なお,設定値を超えるセグメント要求があった場合,設定値を無視して領域を追加確保(malloc関数を発行)します。
    注意
    プールサイズが小さいと,大量処理用システム領域が解放されないおそれがあります(OSの仕様)。第1指定値と第2指定値にはMMAP_THRESHOLDの値以上を設定してください。
実際のメモリ要求などで追加確保される大量処理用システム領域のサイズは,指定値と一致しないことがあります。
このオペランドを省略すると,大量処理用システム領域を使用しません。

memory_mdpusr_area_size=初期化確保時の大量処理用ユーザ領域サイズ,追加確保時の大量処理用ユーザ領域サイズ

  ~〈符号なし整数〉((1~1048576))(単位:キロバイト)
大量処理用ユーザ領域(MPUPOOL)を使用する場合,初期化確保時および追加確保時のサイズをキロバイト単位で指定します。
オペランドの第1指定値には,初期化時に確保する大量処理用ユーザ領域のサイズを指定します。第2指定値には,追加確保時に確保する大量処理用ユーザ領域のサイズを指定します。このオペランドを指定する場合は,第1指定値と第2指定値の両方を指定してください。
このオペランドを指定すると,XTCワーク領域およびXDBワーク領域の動作が次のとおり変更になります。
  • 追加確保した領域については,使用中のセグメントが存在しなくなった時点で,オンライン中に該当する領域をOSに解放(free関数を発行)します。
  • CLサーバ(クラスタ連携関連定義のcluster_modeオペランドにYを指定)の場合,待機系ではmemory_xtc_limit_sizeオペランドおよびmemory_xdb_limit_sizeオペランドの設定値が無効になります。なお,設定値を超えるセグメント要求があった場合,設定値を無視して領域を追加確保(malloc関数を発行)します。
    注意
    プールサイズが小さいと,大量処理用ユーザ領域が解放されないおそれがあります(OSの仕様)。第1指定値と第2指定値にはMMAP_THRESHOLDの値以上を設定してください。
実際のメモリ要求などで追加確保される大量処理用ユーザ領域のサイズは,指定値と一致しないことがあります。
このオペランドを省略すると,大量処理用ユーザ領域を使用しません。

mem_ibf_extend_num=受信バッファの最大拡張数

  ~〈符号なし整数〉((0~2147483647))《2147483647》
受信バッファ(IBF)が不足した場合に拡張する面数の上限を指定します。
このオペランドを指定した場合に利用できるバッファの最大数を次に示します。

recv_message_buf_cntオペランドで指定した初期確保数
+mem_ibf_extend_numの指定値

ただし,この値が2147483647を超えても,バッファの最大数の上限は2147483647です。0を指定した場合はバッファを拡張しません。
なお,このオペランドで指定した面数を超えなくても,XTC用ワーク領域の最大サイズを超えたときは拡張できません。

mem_uibf_extend_num=UDP用受信バッファの最大拡張数

  ~〈符号なし整数〉((0~2147483647))《2147483647》
UDP用受信バッファ(UIBF)が不足した場合に拡張する面数の上限を指定します。
このオペランドを指定した場合に利用できるバッファの最大数を次に示します。

udp_recv_message_buf_cntオペランドで指定した初期確保数
+mem_uibf_extend_numの指定値

ただし,この値が2147483647を超えても,バッファの最大数の上限は2147483647です。0を指定した場合はバッファを拡張しません。
なお,このオペランドで指定した面数を超えなくても,XTC用ワーク領域の最大サイズを超えたときは拡張できません。

mem_obf_extend_num=送信バッファの最大拡張数

  ~〈符号なし整数〉((0~2147483647))《2147483647》
送信バッファ(OBF)が不足した場合に拡張する面数の上限を指定します。
このオペランドを指定した場合に利用できるバッファの最大数を次に示します。

send_message_buf_cntオペランドで指定した初期確保数
+mem_obf_extend_numの指定値

ただし,この値が2147483647を超えても,バッファの最大数の上限は2147483647です。0を指定した場合はバッファを拡張しません。
なお,このオペランドで指定した面数を超えなくても,XTC用ワーク領域の最大サイズを超えたときは拡張できません。

mem_uobf_extend_num=UDP用送信バッファの最大拡張数

  ~〈符号なし整数〉((0~2147483647))《2147483647》
UDP用送信バッファ(UOBF)が不足した場合に拡張する面数の上限を指定します。
このオペランドを指定した場合に利用できるバッファの最大数を次に示します。

udp_send_message_buf_cntオペランドで指定した初期確保数
+mem_uobf_extend_numの指定値

ただし,この値が2147483647を超えても,バッファの最大数の上限は2147483647です。0を指定した場合はバッファを拡張しません。
なお,このオペランドで指定した面数を超えなくても,XTC用ワーク領域の最大サイズを超えたときは拡張できません。