InterChange Server Express には、メモリー・チェッカー・スレッドが備えられています。これを使用すると、システムによるイベントの処理方法を規定したり、それに伴ってシステム・メモリーの使用量を規定することができます。これにより、メモリー不足が原因でシステムが破損するリスクが軽減します。
メモリー・チェッカー・スレッドは、InterChange Server Express で使用されるメモリー量を定期的に測定し、それが設定された許容範囲内にあるかどうか評価します。メモリー使用量が許容範囲内にない場合、メモリー・チェッカー・スレッドはシステム・コンポーネントを管理して、メモリー使用量を削減します。
メモリー使用量が指定された下限しきい値を超える場合、メモリー・チェッカー・スレッドは、システム内のコネクター・コントローラーのイベント・リスナーを構成可能な最大時間の間スリープさせます。時間はメモリー使用量が下限しきい値を超えた度合いによって異なりますが、「しきい値でのコネクターの休止時間 (分)」プロパティーに指定された時間を越えません。このようにしてイベント・リスナー・スレッドをスリープさせることにより、メモリー・チェッカー・スレッドはイベントの InterChange Server Express への送達速度をスローダウンし、上限メモリーしきい値を超えるリスクを軽減します。
メモリー使用量が「メモリーの上限しきい値 (パーセント)」プロパティーに指定された上限しきい値を超える場合、メモリー・チェッカー・スレッドはシステム内のコネクターを休止します。コネクターが休止すると、現在キューに入れられているビジネス・オブジェクトの処理は継続されますが、新規イベントはポーリングされません。したがって、コネクターはキューに入れられたビジネス・オブジェクト数を削減するので、新規ビジネス・オブジェクトの処理にさらなるメモリーを使用することなく、使用中のメモリー量を削減します。コネクターは、「しきい値でのコネクターの休止時間」プロパティーに指定された最小時間の間、休止します。「しきい値でのコネクターの休止時間」プロパティーに指定された時間が経過すると、メモリー・チェッカー・スレッドはメモリー使用量を再度調べます。メモリー使用量が上限しきい値を超えていない場合、メモリー・チェッカー・スレッドはコネクターを再始動します。ただし、メモリー使用量がまだ上限しきい値を超える場合、メモリー・チェッカー・スレッドはコネクターを休止状態のままにします。
メモリー・チェッカー・スレッドは、調査と状態管理操作の合間に、「メモリー・チェッカーのスリープ時間」プロパティーに指定された時間の間スリープします。
メモリー・チェッカー・スレッドを使用するには、以下のセクションの説明に従う必要があります。
InterChange Server Express 始動スクリプトの Java パラメーター CW_MEMORY_MAX で、InterChange Server Express が使用可能な最大ヒープ・メモリーを設定する必要があります。メモリー・チェッカー・スレッドは、この最大ヒープ・メモリー量のパーセンテージを指定する構成可能なプロパティー値に基づいてアクションを行います。
CW_MEMORY_MAX パラメーターは、InterChange Server Express の最大ヒープ・サイズを指定する -mx パラメーターと同じ値に設定します。デフォルトでは、CW_MEMORY_MAX パラメーターは -mx パラメーターと同じ値に設定されますが、-mx パラメーターを変更する場合には CW_MEMORY_MAX パラメーターも同様に変更する必要があります。
以下に、Windows コンピューター上の InterChange Server Express 用の、変更されていない start_server.bat 始動スクリプトの例を示します。
REM This is the -mx param value for the InterChange Server Express's memory heap set CW_MEM_HEAP=512 REM Start the InterChange Server Express %CWJAVA% -Djava.ext.dirs=%JRE_EXT_DIRS%;"%MQ_LIB%";"%DB2_LIB%" -Duser.home="%CROSSWORLDS%" -mx%CW_MEM_HEAP%m -DTEAgent=1200 -DCW_MEMORY_MAX=%CW_MEM_HEAP% %ORB_PROPERTY% -classpath %JCLASSES% ServerWrapper -s%SERVERNAME% %2 %3
CW_MEM_HEAP 変数は値 512 に設定され、この値を使用して -mx パラメーターが設定されるので、512 メガバイトのメモリーが Java ヒープ用に予約されます。CW_MEMORY_MAX パラメーターも、CW_MEM_HEAP 変数を使用して同じ値に設定されます。CW_MEMORY_MAX パラメーターの先頭には -D が付加されます。
InterChange Server Express 構成ファイルを編集して、メモリー・チェッカー・スレッドのプロパティーを設定する必要があります。これらのプロパティーは、InterChange Server Express 構成インターフェースの「各種」タブに公開されます。InterChange Server Express の構成については、System Manager を使用してその他のプロパティーを構成を参照してください。「各種」タブの「サーバーのメモリー」ペインで以下の手順を実行して、メモリー・チェッカー・スレッドを構成します。
図 91 に、メモリー・チェッカー・スレッドの構成に使用する「サーバーのメモリー」プロパティーの「各種」タブを示します。
図 91. メモリー・チェッカー・スレッド・プロパティーの構成
メモリー・チェッカー・スレッドを使用する際には、以下のことを考慮してください。