Elasticsearch Sett maks minnestørrelse

Elasticsearch Sett maks minnestørrelse

“Minne er en essensiell, men begrenset ressurs når du jobber med Elasticsearch. Dette er fordi Lucene vil benytte seg av alle tilgjengelige minne. Imidlertid, når de er feilkonfigurert, kan minneinnstillingene føre til lav ytelse og ineffektiv minnebruk.”

I denne opplæringen vil vi vise deg den maksimale og minimum JVM -høydekonfigurasjonen når du jobber med Elasticsearch.

La oss komme i gang.

Hva er et minneminne?

I sammenheng med Elasticsearch, refererer Heap -minnet til den totale mengden minne tildelt Java Virtual Machine i en Elasticsearch -node.

Elasticsearch vil standard angi JVM Heap -størrelse basert på det totale minnet om basesystemet og nodens rolle. Dette betyr at tildelingen av minnestørrelsen kan variere avhengig av om det er en hovednode, data, inntak, data_cold osv.

For de fleste produksjonsmiljøer anbefales det å tillate elasticsearch å håndtere haugestørrelsen og mer enn tilstrekkelig.

MERK: Hvis du kjører Elasticsearch i Docker, er det totale heapminnet basert på den totale størrelsen på Docker -beholderen og ikke Dockers vert.

Konfigurere minimum og maksimal haugestørrelse

For å konfigurere minimum og maksimal haugestørrelse, kan vi bruke XMS- og XMX -parametrene. Elasticsearch Probits setter det maksimale minnet til ikke mer enn 50% av det totale minnet. Dette skyldes at bortsett fra JVM -heap, krever Elasticsearch mer minne for andre operasjoner som filsystembuffer, nettverkskommunikasjon osv. Tilsvarende vil JVM bruke en del av det gjenværende 50% minnet.

For det andre, ikke sett XMS- og XMX -verdiene til mer enn terskelen til oops. For sikker konfigurasjon, begrens den til 26 GB eller 30 GB på noen systemer.

Du kan sjekke terskelen i Elasticsearch -loggen.

Cat Elasticsearch.logg | grep "objektpekere"

Du bør se en oppføring som vist:

[2022-08-19t20: 01: 50,275] [info] [o.e.e.Nodeenmiljø] [Debian11] Heapstørrelse [1.9 GB], komprimerte vanlige objektpekere [True]
[2022-08-19t20: 08: 07,207] [info] [o.e.e.Nodeenmiljø] [Debian11] Heapstørrelse [1.9 GB], komprimerte vanlige objektpekere [True]
[2022-08-19t20: 36: 47,244] [info] [o.e.e.Nodeenmiljø] [Debian11] Heapstørrelse [1.9 GB], komprimerte vanlige objektpekere [True]

Du kan også spørre Nodes Information API for XMS- og XMX -verdiene:

Curl -x Få lokalhost: 9200/_noder/_All/JVM?ganske

Du bør se en utgang som vist:

Angi minum og maksimal haugestørrelse

For å endre verdiene til JVM -heapstørrelsen, må du legge til en konfigurasjonsfil i/etc/elasticsearch/JVM.alternativer.d katalog. Denne filen skal ende med .Options Extension.

For eksempel:

$ sudo touch/etc/elasticsearch/jvm.alternativer.d/haug.alternativer

Rediger filen

$ sudo nano/etc/elasticsearch/jvm.alternativer.d/haug.alternativer

Legg til ønsket minimum og maksimal minnestørrelse.

For eksempel konfigurerer oppføringen nedenfor minimum og maksimal Heap -størrelse til 4 GB.

Lagre filen og start Elasticsearch -tjenesten på nytt.

Konklusjon

I denne opplæringen lærte du JVM -haugen i sammenheng med Elasticsearch, hvordan Elasticsearch konfigurerer JVM -haugen, og hvordan du kan endre haugestørrelsen.

Takk for at du leste!!