設定訊息處理器的堆積記憶體大小

您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

Apigee Edge 的訊息處理器是以 Java 為基礎的元件,預設堆積記憶體大小為 512 MB。不過,預設堆積記憶體大小可能不足以應付 Apigee Edge 的所有用途。您可能需要根據流量和處理需求調整訊息處理器的堆積記憶體大小,或解決任何記憶體相關問題。

Java 應用程式的堆積記憶體大小是透過 Java 指令列參數 -Xms (最小堆積大小) 和 -Xmx (最大堆積大小) 控制。在 Apigee Edge 訊息處理器上,這些屬性是透過 bin_setenv_min_membin_setenv_max_mem 屬性控制。如要進一步瞭解這些屬性,請參閱「 修改 Java 記憶體設定」。

本文說明如何在 Apigee Edge 的訊息處理器上設定堆積記憶體大小。

事前準備

變更訊息處理工具的堆積記憶體大小

本節說明如何變更訊息處理器的堆積記憶體大小。您可以在訊息處理器元件上,透過 bin_setenv_min_membin_setenv_max_mem 屬性設定堆積記憶體的下限和上限。

如要變更訊息處理器的堆積記憶體大小,請按照下列步驟操作:

  1. 在訊息處理器電腦上,使用編輯器開啟 /opt/apigee/customer/application/message-processor.properties 檔案。如果檔案尚不存在,請建立該檔案。 例如:
    vi /opt/apigee/customer/application/message-processor.properties
  2. 在這個檔案中新增下列幾行:
    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
  3. 儲存變更。
  4. 請確認這個屬性檔案的擁有者是 apigee 使用者。例如:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. 使用下列指令重新啟動訊息處理器:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  6. 如果您有多個訊息處理器,請在所有訊息處理器上重複執行這些步驟。

在訊息處理器上驗證堆積記憶體大小

本節說明如何確認訊息處理器上的堆積記憶體變更是否已成功修改。

即使您使用 bin_setenv_min_membin_setenv_max_mem 屬性變更訊息處理器的堆積記憶體大小,仍需確認實際的 Java 指令列參數 -Xms-Xmx 已設定為新值,如下所示:

  1. 請使用下列指令,搜尋指令列參數 -Xms-Xmx 是否已使用訊息處理器的新值設定:
    ps -ef | grep message-processor | egrep -o 'Xms[0-9a-z]+|Xmx[0-9a-z]+' | tr '\r' ' '
  2. 如果訊息處理器上的最小和最大堆積記憶體已變更,則先前的指令會顯示 -Xms-Xmx 的新值。

    變更訊息處理器上的堆積下限和上限後,先前指令的範例結果如下:

    Xms1024m
    Xmx2048m

    在範例輸出中,請注意已設定堆積下限和上限的新值。

  3. 如果 -Xms-Xmx 仍顯示舊值,請確認您已正確按照「變更訊息處理器上的堆積記憶體大小」一文中的所有步驟操作。如果遺漏任何步驟,請再次正確執行所有步驟。
  4. 如果還是無法變更堆積記憶體,請與 Apigee Edge 支援團隊聯絡。

後續步驟