您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件。 資訊
Apigee Edge 的訊息處理器是以 Java 為基礎的元件,會使用預設的 512 MB 堆積記憶體大小。不過,預設的堆積記憶體大小可能不足以滿足 Apigee Edge 的所有用途。您可能需要根據流量和處理需求,調整訊息處理器的堆積記憶體大小,或是解決任何記憶體相關問題。
Java 應用程式的堆積記憶體大小是透過 Java 指令列參數 -Xms
(最小堆積大小) 和 -Xmx
(堆積大小上限) 控制。在 Apigee Edge 訊息處理器上,這些訊息透過 bin_setenv_min_mem
和 bin_setenv_max_mem
屬性控制。如要進一步瞭解這些屬性,請參閱
修改 Java 記憶體設定。
本文說明如何在 Apigee Edge 的訊息處理器上設定堆積記憶體大小。
事前準備
- 如果您不熟悉為 Private Cloud 設定 Edge 的屬性,請參閱如何設定 Edge。
- 如要瞭解預設和建議的 Java 記憶體設定,請參閱「 修改 Java 記憶體設定」。
變更訊息處理器的堆積記憶體大小
本節說明如何變更訊息處理器上的堆積記憶體大小。您可以透過訊息處理器元件上的 bin_setenv_min_mem
和 bin_setenv_max_mem
屬性,設定堆積記憶體的下限和上限。
如要變更訊息處理器的堆積記憶體大小,請執行下列步驟:
- 在編輯器中開啟訊息處理器機器上的
/opt/apigee/customer/application/message-processor.properties
檔案。如果檔案不存在,請建立檔案。例如:vi /opt/apigee/customer/application/message-processor.properties
- 在這個檔案中新增下列幾行內容:
bin_setenv_min_mem=minimum_heap_in_megabytes bin_setenv_max_mem=maximum_heap_in_megabytes
舉例來說,如果您想將「訊息處理器」的堆積的上下限分別變更為 1 GB 和 2 GB,請在這個檔案中新增下列幾行內容:
bin_setenv_min_mem=1024m bin_setenv_max_mem=2048m
- 儲存變更。
-
請確認這個屬性檔案為
apigee
使用者所有。例如:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
使用下列指令重新啟動訊息處理器:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- 如果您有不只一個訊息處理器,請在所有訊息處理器上重複上述步驟。
驗證訊息處理器上的堆積記憶體大小
本節說明如何驗證堆積記憶體變更是否已成功在訊息處理器上修改。
即使您使用 bin_setenv_min_mem
和 bin_setenv_max_mem
屬性變更訊息處理器上的堆積記憶體大小,仍必須驗證實際的 Java 指令列參數 -Xms
和 -Xmx
是否已按照以下新值進行設定:
- 執行下列指令,查看指令列參數
-Xms
和-Xmx
是否已使用訊息處理器的新值進行設定:ps -ef | grep message-processor | egrep -o 'Xms[0-9a-z]+|Xmx[0-9a-z]+' | tr '\r' ' '
-
如果訊息處理器的最小和最大堆積記憶體已變更,先前的指令會顯示
-Xms
和-Xmx
的新值。您在變更訊息處理器的堆積上下限和上限後,上一個指令的範例結果如下:
Xms1024m Xmx2048m
請注意,範例輸出中的堆積下限和上限已設定新值。
-
如果還是看到
-Xms
和-Xmx
的舊值,請確認您已按照「變更訊息處理器的堆積記憶體大小」一文所述的所有步驟操作。如果您錯過任何步驟,請再次正確重複所有步驟。 - 如果仍無法變更堆積記憶體,請與 Apigee Edge 支援團隊聯絡。