設定 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 伺服器上的堆積記憶體大小。最小值和最大值 可透過屬性 bin_setenv_min_mem 和 Qpid 伺服器元件上的 bin_setenv_max_mem

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

  1. 開啟/opt/apigee/customer/application/qpid-server.properties 在編輯器中啟用 Qpid 伺服器機器。如果檔案不存在,則建立該檔案。 例如:
    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 伺服器上的堆積記憶體設定

本節說明如何驗證堆積記憶體變更是否已成功修改 。

即使您使用了 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 支援

後續步驟

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