我的 Amazon OpenSearch Service 叢集具有高 JVM 記憶體壓力。不同的 JVM 記憶體壓力層級代表什麼?我該如何減少壓力級別?
解決方案
JVM 記憶體壓力會指定叢集節點中 Java 堆積的百分比。以下準則會說明 JVM 記憶體壓力百分比的含義:
- 如果 JVM 記憶體壓力達 75%,Amazon OpenSearch Service 會觸發並行標記清除 (CMS) 廢棄項目收集器。廢棄項目收集是 CPU 密集型處理程序。如果 JVM 記憶體壓力保持在此百分比達數分鐘,則您可能會遭遇 ClusterBlockException、JVM OutOfMemoryError 或其他叢集效能問題。
- 如果 JVM 記憶體壓力在 30 分鐘內超過 92%,則 OpenSearch Service 會封鎖所有寫入操作。
- 如果 JVM 記憶體壓力達 100%,則系統會將 OpenSearch Service JVM 設定為退出,且最終會重新啟動 OutOfMemory (OOM)。
高 JVM 記憶體壓力可能是由以下原因引起:
- 對叢集的請求數達峰值。
- 彙總、萬用字元,以及在查詢中選取寬廣的時間範圍。
- 節點中的碎片分配不平衡,或一個叢集中有太多碎片。
- 欄位資料或索引映射劇增。
- 執行個體類型無法處理傳入的負載。
您可以透過減少叢集流量來解決高 JVM 記憶體壓力問題。若要減少至叢集的流量,請遵循以下最佳實務:
如需有關對高 JVM 記憶體壓力進行疑難排解的詳細資訊,請參閱為什麼我的 Amazon OpenSearch Service 節點當機?
相關資訊
Amazon OpenSearch Service 的疑難排解
如何擴充 Amazon OpenSearch Service 網域的規模或對其進行水平擴展?