控制伺服器記憶體用量的步驟

來自 JVM 的 OutOfMemoryExceptions 可中止 InterChange Server Express。若要減少這類狀況的發生,可以使用 InterChange Server Express 中的「記憶體檢查程式」功能,在達到預先決定的記憶體用量層次時暫停連接器, 以確定不會傳送任何新事件至連接器,但仍可讓它處理 InterChange Server Express 的擱置中服務呼叫要求。 這可減少記憶體用量。記憶體檢查功能的參數也可以控制將事件從所有連接器遞送到 InterChange Server Express 的速度, 以提供更精細的流程控制。

註:
記憶體檢查程式功能也會對 InterChange Server Express 伺服器的效能造成負面影響,應小心使用。 請先嘗試其他流程控制方法,使用記憶體檢查程式是記憶體問題的最後解決方案。

請執行下列步驟,以實作記憶體檢查:

  1. 新增下列參數到 InterChange Server Express 啟動 Script 檔,作為 Java 內容參數 (-D 選項):
    CW_MEMORY_MAX
     

    此值決定是否容許 InterChange Server Express 使用資料堆記憶體上限。 此值應與 InterChange Server Express 啟動 Script 中所指定的 JVM 資料堆大小上限 (-mx 參數) 相同。 例如:

    -DCW_MEMORY_MAX=512m
     

    若為 OS/400,伺服器啟動 Script 的位置是 /QIBM/UserData/WBIServer43/ServerInstanceName/bin/start_server.sh。因為 OS/400 管理 InterChange Server Express 在虛擬儲存體中的 JVM 記憶體用量, 所以依預設已移除這個啟動 Script 中的資料堆大小上限。 不過,InterChange Server 仍有可能從它足以處理的連接器收到更多的事件。 這可能導致 JVM 記憶體成長,因而降低效能。 因為 OS/400 上沒有 -mx 參數, 所以您必須監視「編輯配置」畫面的「一般」標籤的「記憶體總量」欄位 (請參閱底下的「InterChange Server 元件管理」檢視畫面)。 當 InterChange Server 正常執行時,您選給 CW_MEMORY_MAX 的值應該稍微大於「記憶體總量」欄位的範圍。

  2. 請執行下列動作,使用「系統管理程式」來自訂伺服器記憶體用法:

Copyright IBM Corp. 2004