全部產品
Search
文件中心

Elasticsearch:配置記憶體回收行程

更新時間:Jun 30, 2024

Elasticsearch 6.7.0及以上版本的執行個體(資料節點記憶體大於等於32GB)提供了記憶體回收行程的配置功能,支援CMS記憶體回收行程G1記憶體回收行程的相互切換。本文介紹如何配置記憶體回收行程。

背景資訊

Elasticsearch預設使用的記憶體回收行程為CMS,當堆記憶體使用量率達到75%時,將觸發記憶體回收。如果您叢集的堆記憶體較大,建議您切換為G1記憶體回收行程,提高記憶體回收效能,詳細資料請參見官方Elasticsearch記憶體回收介紹

前提條件

建立Elasticsearch執行個體,具體操作請參見建立Elasticsearch執行個體。執行個體要求如下:
  • 版本:6.7.0及以上
  • 資料節點記憶體:大於等於32GB

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

說明 不滿足以上要求的執行個體只能使用CMS記憶體回收行程,不支援切換為G1記憶體回收行程

操作步驟

  1. 登入Elasticsearch控制台
  2. 在左側導覽列,單擊Elasticsearch執行個體
  3. 進入目標執行個體。
    1. 在頂部功能表列處,選擇資源群組和地區。
    2. Elasticsearch執行個體中單擊目標執行個體ID。
  4. 在左側導覽列,選擇配置與管理 > ES叢集配置
  5. 基礎配置地區,單擊記憶體回收行程右側的修改
    執行個體需滿足以下要求,才可修改記憶體回收行程配置:
    • 版本:6.7.0及以上
    • 資料節點記憶體:大於等於32GB
    重要
    • 更改記憶體回收行程機制需確保叢集處於正常狀態,該操作會觸發叢集滾動重啟,重啟時間長度與叢集規模、資料量及負載情況等有關係,建議在業務低峰期操作。
    • 如果叢集索引存在副本分區且叢集負載處於正常水平(CPU使用率在60%左右,堆記憶體使用量率在50%左右,load_1m低於CPU核心數),一般情況下,在叢集變更過程中可持續對外提供服務。
    • 如果叢集負載過高且索引沒有副本,同時業務中存在大量的寫入或查詢等情境,在叢集變更過程中,業務可能會出現偶發的訪問逾時現象。建議在用戶端訪問機制中配置重試機制,以減小對業務的影響。
  6. 修改配置頁面,選擇G1回收器,單擊確定
    切換記憶體回收行程

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

相關文檔

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