全部產品
Search
文件中心

Elasticsearch:配置記憶體回收行程

更新時間:Mar 11, 2026

部分Elasticsearch(簡稱ES)執行個體提供了記憶體回收行程的配置功能,如果您的ES執行個體堆記憶體較大,建議您將記憶體回收行程切換為G1回收器,提高記憶體回收效能。本文介紹如何配置記憶體回收行程。

背景資訊

阿里雲ES 8.x 以下版本預設採用 CMS 記憶體回收行程(堆記憶體使用量率達 75% 時觸發)。若執行個體堆記憶體較大,建議切換為 G1 以最佳化效能。8.x 及以上版本已預設啟用 G1 回收器,且配置不支援修改。

前提條件

執行個體要求如下:

  • 版本:6.7.0~8.x及以下版本

  • 資料節點記憶體:大於等於32 GB

    如何查看執行個體記憶體

    1. 進入目標執行個體的基本資料頁面

    2. 節點可視化地區查看資料節點規格

    3. 總記憶體 = 單節點記憶體 × 資料節點數量

    如果不滿足記憶體要求,可升級執行個體規格。具體操作,請參見升配叢集

操作步驟

  1. 登入 阿里雲 Elasticsearch 控制台

  2. 在左側導覽列,單擊Elasticsearch執行個體

  3. 進入目標執行個體。

    1. 在頂部功能表列處,選擇資源群組和地區。

    2. Elasticsearch執行個體中單擊目標執行個體 ID。

  4. 在左側導覽列,選擇 配置與管理 > 進階設定

  5. 基礎配置地區,單擊記憶體回收行程右側的修改

    • 如果修改按鈕為灰色禁用狀態,可能原因:

      • 執行個體資料節點記憶體不滿足≥32 GB 的要求。

      • 執行個體版本不在此範圍:6.7.0~8.x及以下版本。

        此時需先升配執行個體或確認版本相容性。

    重要
    • 更改記憶體回收行程機制需確保叢集處於正常狀態,該操作會觸發叢集滾動重啟,重啟時間長度與叢集規模、資料量及負載情況等有關係,建議在業務低峰期操作。

    • 如果叢集索引存在副本分區且叢集負載處於正常水平(CPU 使用率在 60% 左右,堆記憶體使用量率在 50% 左右,load_1m 低於 CPU 核心數),一般情況下,在叢集變更過程中可持續對外提供服務。

    • 如果叢集負載過高且索引沒有副本,同時業務中存在大量的寫入或查詢等情境,在叢集變更過程中,業務可能會出現偶發的訪問逾時現象。建議在用戶端訪問機制中配置重試機制,以減小對業務的影響。

  6. 修改配置頁面,選擇G1回收器 ,單擊確定

    • 確定後,叢集會自動重啟。重啟成功後,即可完成記憶體回收行程的切換。

    • 預計重啟時間長度:小叢集約 10-30 分鐘,大叢集約 30-60 分鐘(具體取決於叢集規模和資料量)。

    • 滾動重啟期間,叢集仍可對外提供服務,但可能會出現短暫的響應延遲。

相關文檔

切換記憶體回收行程的 API 文檔:UpdateAdvancedSetting