Elasticsearch Set Max -Speichergröße

Elasticsearch Set Max -Speichergröße

„Das Gedächtnis ist eine wesentliche, aber begrenzte Ressource bei der Arbeit mit ElasticSearch. Dies liegt daran, dass Lucene jeden verfügbaren Speicher nutzt. Wenn jedoch falsch konfiguriert ist, können die Speichereinstellungen zu einer geringen Leistung und zu ineffizienten Speicherverwendung führen.”

In diesem Tutorial zeigen wir Ihnen die maximale und minimale JVM -Haufen -Größenkonfiguration bei der Arbeit mit Elasticsearch.

Lass uns anfangen.

Was ist ein Heap -Speicher??

Im Kontext von Elasticsearch bezieht sich Heap Memory auf die Gesamtmenge des Speichers, die der java -virtuellen Maschine innerhalb eines Elasticsearch -Knotens zugewiesen wurde.

Elasticsearch wird die JVM -Heap -Größe standardmäßig basierend auf dem Gesamtspeicher des Basissystems und der Rolle des Knotens festlegen. Dies bedeutet.

In den meisten Produktionsumgebungen wird empfohlen, Elasticsearch zu ermöglichen, die Haufengröße zu verwalten, und mehr als ausreichend.

NOTIZ: Wenn Sie Elasticsearch in Docker ausführen, basiert der Gesamthaufenspeicher auf der Gesamtgröße des Docker -Containers und nicht auf dem Host des Docker's Host.

Konfigurieren Sie die minimale und maximale Haufengröße

Um die minimale und maximale Haufengröße zu konfigurieren, können wir die XMS- und XMX -Parameter verwenden. Elasticsearch Probits setzen den maximalen Speicher nicht mehr als 50% des Gesamtspeichers. Dies liegt daran, dass Elasticsearch abgesehen von JVM Heap mehr Speicher für andere Vorgänge wie Dateisystem -Cache, Netzwerkkommunikation usw. erfordert. In ähnlicher Weise wird der JVM einen Abschnitt des verbleibenden 50% -speichers verwendet.

Zweitens stellen Sie die XMS- und XMX -Werte nicht auf mehr als den Schwellenwert der OOPS ein. Beschränken Sie es für eine sichere Konfiguration auf einige Systeme auf 26 GB oder 30 GB.

Sie können die Schwelle im Elasticsearch -Protokoll überprüfen.

Cat Elasticsarch.Protokoll | Grep "Objektzeiger"

Sie sollten wie gezeigt einen Eintrag sehen:

[2022-08-19T20: 01: 50,275] [Info] [O.e.e.Nodeenvironment] [Debian11] Haufengröße [1.9GB], komprimierte gewöhnliche Objektzeiger [True]
[2022-08-19t20: 08: 07,207] [info] [o.e.e.Nodeenvironment] [Debian11] Haufengröße [1.9GB], komprimierte gewöhnliche Objektzeiger [True]
[2022-08-19t20: 36: 47,244] [info] [o.e.e.Nodeenvironment] [Debian11] Haufengröße [1.9GB], komprimierte gewöhnliche Objektzeiger [True]

Sie können auch die Knoteninformations -API für die XMS- und XMX -Werte abfragen:

curl -x localhost: 9200/_nodes/_all/jvm?hübsch

Sie sollten eine Ausgabe wie gezeigt sehen:

Stellen Sie das Minumum und die maximale Haufengröße ein

Um die Werte der JVM -Haufengröße zu ändern, müssen Sie eine Konfigurationsdatei in/etc/elasticsearch/jVM hinzufügen.Optionen.d Verzeichnis. Diese Datei sollte mit dem enden .Optionenerweiterung.

Zum Beispiel:

$ sudo touch/etc/elasticsearch/jvm.Optionen.d/heap.Optionen

Bearbeiten Sie die Datei

$ sudo nano/etc/elasticsearch/jvm.Optionen.d/heap.Optionen

Fügen Sie die gewünschte minimale und maximale Heap -Speichergröße hinzu.

Beispielsweise konfiguriert der folgende Eintrag die minimale und maximale Haufengröße auf 4 GB.

Speichern Sie die Datei und starten Sie den Elasticsearch -Dienst neu.

Abschluss

In diesem Tutorial haben Sie den JVM -Haufen im Kontext von Elasticsearch gelernt, wie Elasticsearch den JVM -Haufen konfiguriert und wie Sie die Haufengröße ändern können.

Danke fürs Lesen!!