設定 Qpid 伺服器上的堆積記憶體大小

您正在查看 Apigee Edge 說明文件。
參閱 Apigee X 說明文件
資訊

Apigee Edge 的 Qpid 伺服器是 Java 型元件,會使用預設的 512 MB 堆積記憶體大小。但是,預設的堆積記憶體大小可能不足以滿足 Apigee Edge 的所有用途。您可能需要根據流量和處理需求,或處理任何記憶體相關問題,調整 Qpid 伺服器的堆積記憶體大小。

Java 應用程式的堆積記憶體大小是透過 Java 指令列參數 -Xms (堆積大小下限) 和 -Xmx (堆積大小上限) 控管。在 Apigee Edge Qpid 伺服器上,這些程序是透過 bin_setenv_min_membin_setenv_max_mem 屬性控管。如要進一步瞭解這些屬性,請參閱 修改 Java 記憶體設定

本文說明如何在 Apigee Edge 的 Qpid 伺服器上設定堆積記憶體大小。

事前準備

在 Qpid 伺服器上變更堆積記憶體

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

如要變更 Qpid 伺服器上的堆積記憶體大小,請執行下列步驟:

  1. 在編輯器中開啟 Qpid 伺服器機器上的 /opt/apigee/customer/application/qpid-server.properties 檔案。如果檔案不存在,請先建立該檔案。 例如:
    vi /opt/apigee/customer/application/qpid-server.properties
    
  2. 在這個檔案中新增下列指令行:
  3. bin_setenv_min_mem=minimum_heap_in_megabytes
    bin_setenv_max_mem=maximum_heap_in_megabytes
    

    舉例來說,如果您想將 Qpid 伺服器上的堆積上限值分別調整為 1 GB 和 2 GB,請在這個檔案中加入下列指令行:

    bin_setenv_min_mem=1024m
    bin_setenv_max_mem=2048m
    
  4. 儲存變更。
  5. 請確定這個屬性檔案為 apigee 使用者所有。例如:
    chown apigee:apigee /opt/apigee/customer/application/qpid-server.properties
    
  6. 使用下列指令重新啟動 Qpid 伺服器:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    
  7. 如果您擁有多個 Qpid 伺服器,請在所有 Qpid 伺服器上重複執行這些步驟。

在 Qpid 伺服器上驗證堆積記憶體設定

本節說明如何驗證 Qpid 伺服器上的堆積記憶體變更是否已成功修改。

即使您使用 bin_setenv_min_membin_setenv_max_mem 屬性在 Qpid 伺服器上變更堆積記憶體大小,仍須驗證實際的 Java 指令列參數 -Xms-Xmx 已設為使用新的值,如下所示:

  1. 使用下列指令搜尋指令列參數 -Xms-Xmx 是否已設為 Qpid 伺服器的新值:
    ps -ef | grep qpid-server | egrep -o 'Xms[0-9a-z]+|Xmx[0-9a-z]+' | tr '\r' ' '
    
  2. 如果 Qpid 伺服器上的堆積記憶體最小和最大堆積記憶體有所變更,先前的指令會顯示 -Xms-Xmx. 的新值。

    變更 Qpid 伺服器的最小和最大堆積後,上一個指令的範例結果如下:

    Xms1024m
    Xmx2048m
    

    在輸出範例中,請注意,已設定最小和最大堆積的新值。

  3. 如果還是能看到 -Xms-Xmx 的舊值,請確認您已按照「 變更 Qpid 伺服器上的堆積記憶體大小」一文所述的所有步驟操作。如果您遺漏任何步驟,請再次正確重複所有步驟。
  4. 如果您仍然無法變更堆積記憶體,請與 Apigee 支援團隊聯絡。

後續步驟

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