Global outage event
If you're experiencing issues with your AWS services, then please refer to the AWS Health Dashboard. You can find the overall status of ongoing outages, the health of AWS services, and the latest updates from AWS engineers.
Wie behebe ich einen hohen JVM-Speicherdruck in meinem OpenSearch Service-Cluster?
Mein Amazon OpenSearch Service-Cluster hat einen hohen Speicherdruck für Java Virtual Machine (JVM) und ich möchte ihn reduzieren.
Kurzbeschreibung
Standardmäßig verwendet OpenSearch Service 50 % des Arbeitsspeichers einer Amazon Elastic Compute Cloud (Amazon EC2)-Instance für JVM-Heaps bis zu 32 GiB. Der JVM-Speicherdruck gibt den Prozentsatz des Java-Heaps in einem Clusterknoten an.
Die folgenden Szenarien können zu einem hohen JVM-Speicherdruck führen:
- Erhöhte Anzahl der Anforderungen an den Cluster
- Aggregationen, Platzhalter und breite Zeitbereiche in den Abfragen
- Unausgeglichene Shard-Zuweisungen zwischen Knoten oder zu viele Shards in einem Cluster
- Explosionen bei Felddaten oder Indexzuordnungen
- Amazon EC2-Instance-Typen, die eingehende Lasten nicht verwalten können
Lösung
Muster in deinen Daten überwachen
Reduziere den Datenverkehr zum Cluster, um Probleme mit hohem JVM-Speicherdruck zu lösen.
Führe den folgenden Befehl aus, um Statistiken über deinen Cluster auf Knotenebene abzurufen und Knoten zu identifizieren, bei denen Speicherauslastung oder übermäßige Speicherbereinigung auftreten:
GET _nodes/stats/jvm
Um fehlerhafte Anfragen weiter zu identifizieren, aktiviere langsame Protokolle. Weitere Informationen findest du unter Shard-Slow-Protokolle auf der OpenSearch-Website. Stelle sicher, dass der JVM-Speicherdruck unter 90 % liegt. Weitere Informationen zu langsamen Abfragen findest du auf der Elasticsearch-Website unter Erweiterte Optimierung: Finden und Beheben langsamer Elasticsearch-Abfragen.
Verwende Amazon CloudWatch, um die JVM-Speichernutzung und das Garbage Collection-Verhalten im Laufe der Zeit zu überwachen. Verwende diese Informationen, um Muster zu erkennen und Maßnahmen zu ergreifen, bevor eine Cluster-Instabilität auftritt. Konfiguriere außerdem CloudWatch-Alarme, um hohen JVM-Speicherdruck proaktiv zu erkennen und zu beheben.
Cache-Einstellungen überprüfen
Führe die folgende Abfrage aus, um den Felddaten-Cache zu löschen:
POST /index_name/_cache/clear?fielddata=true
Hinweis: Wenn du den Cache leerst, unterbrichst du möglicherweise gerade ausgeführte Abfragen.
Wenn du die Anzahl der JVM-Schutzschalter überschreitest und deine Speicherauslastung nicht überprüft wird, erhältst du einen JVM OutOfMemoryError. Um dieses Problem zu beheben, ändere die Daten-Cache-Zuweisung des übergeordneten Leistungsschalters oder die Einstellungen für den Anforderungsschalter entsprechend den Anforderungen deiner Konfiguration. Informationen zum Ändern dieser Einstellungen auf Cluster-Ebene findest du unter Cluster-Einstellungs-API auf der OpenSearch-Website.
Konfiguration optimieren
Verwende die folgenden bewährten Methoden, um die Konfiguration zu optimieren:
- Aggregiere keine Textfelder und ändere den Zuordnungstyp nicht in Schlüsselwort.
- Skaliere die Domain so, dass die maximale Heap-Größe pro Knoten 32 GB beträgt.
- Wähle die richtige Anzahl von Shards, um die Suche oder Indizierung zu optimieren. Weitere Informationen findest du unter Wie gleiche ich die ungleichmäßige Shard-Verteilung in meinem OpenSearch Service-Cluster aus?
- Lösche ungenutzte Indizes, um die Anzahl der Shards zu reduzieren.
Weitere Informationen zum Beheben eines hohen JVM-Speicherdrucks findest du unter Warum ist mein OpenSearch Service-Knoten abgestürzt?
Auswirkungen eines hohen JVM-Speicherdrucks verstehen
Die folgenden Szenarien zeigen, wie OpenSearch Service verschiedene Prozentsätze für den JVM-Speicherdruck verwaltet:
- Wenn die JVM-Speicherauslastung 75 % erreicht, initiiert OpenSearch Service den Concurrent Mark Sweep (CMS) Garbage Collector für x86 Instance-Typen. ARM-basierte Graviton G1-Instance-Typen verwenden den Garbage-First (G1)-Garbage-Collector, der zusätzliche kurze Pausen und Heap-Defragmentierung verwendet.
Hinweis: Die Garbage Collection ist ein CPU-intensiver Prozess. Wenn die Speichernutzung weiter zunimmt, können „ClusterBlockException“, „JVM OutOfMemoryError“ oder andere Cluster-Leistungsprobleme auftreten. - Wenn der JVM-Speicherdruck 30 Minuten lang 92 % übersteigt, blockiert OpenSearch Service alle Schreibvorgänge.
- Wenn der JVM-Speicherdruck 100 % erreicht, wird OpenSearch Service beendet und die Instance schließlich mit der Fehlermeldung „OutOfMemory (OOM)“ neu gestartet.
Ähnliche Informationen
Problembehandlung beim OpenSearch Service
Erste Schritte mit OpenSearch Service: Wie viele Shards benötige ich?
- Themen
- Analytics
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 9 Monaten
AWS OFFICIALAktualisiert vor 8 Monaten
AWS OFFICIALAktualisiert vor 5 Jahren