Elasticsearch Conjunto Max Tamanho da memória

Elasticsearch Conjunto Max Tamanho da memória

“A memória é um recurso essencial, mas limitado, ao trabalhar com o Elasticsearch. Isso ocorre porque o Lucene fará uso de cada memória disponível. No entanto, quando equivocados, as configurações de memória podem levar a baixo desempenho e uso ineficiente de memória.”

Neste tutorial, mostraremos a configuração máxima e mínima da pilha JVM ao trabalhar com elasticsearch.

Vamos começar.

O que é uma memória de heap?

No contexto do Elasticsearch, a memória da heap refere -se à quantidade total de memória alocada para a máquina virtual Java em um nó de Elasticsearch.

Elasticsearch, padrão definirá o tamanho da pilha JVM com base na memória total do sistema base e no papel do nó. Isso significa que a alocação do tamanho da memória da heap pode variar dependendo se é um nó principal, dados, ingestão, data_cold, etc.

Para a maioria dos ambientes de produção, permitindo que o Elasticsearch gerencie o tamanho da pilha é recomendado e mais do que suficiente.

OBSERVAÇÃO:.

Configurando o tamanho mínimo e máximo da pilha

Para configurar o tamanho mínimo e máximo da pilha, podemos usar os parâmetros XMS e XMX. Probits de Elasticsearch estão definindo a memória máxima para não mais de 50% da memória total. Isso ocorre porque, além da pilha JVM, o Elasticsearch requer mais memória para outras operações, como cache do sistema de arquivos, comunicação de rede, etc. Da mesma forma, a JVM usará uma seção da memória restante de 50%.

Segundo, não defina os valores XMS e XMX para mais do que o limiar do OOPS. Para configuração segura, limite -o a 26 GB ou 30 GB em alguns sistemas.

Você pode verificar o limite no log do Elasticsearch.

Pesquisa de elastices de gato.log | Grep "Ponteiros de objeto"

Você deve ver uma entrada como mostrado:

[2022-08-19T20: 01: 50.275] [info] [o.e.e.Nodeenvironment] [Debian11] Tamanho da pilha [1.9GB], comprimidos de objeto comum ponteiros [true]
[2022-08-19T20: 08: 07,207] [info] [o.e.e.Nodeenvironment] [Debian11] Tamanho da pilha [1.9GB], comprimidos de objeto comum ponteiros [true]
[2022-08-19T20: 36: 47.244] [info] [o.e.e.Nodeenvironment] [Debian11] Tamanho da pilha [1.9GB], comprimidos de objeto comum ponteiros [true]

Você também pode consultar a API de informações dos nós para os valores XMS e XMX:

Curl -x Obtenha localhost: 9200/_nodes/_all/jvm?bonito

Você deve ver uma saída como mostrado:

Defina o tamanho minumum e o máximo

Para modificar os valores do tamanho da pilha JVM, você precisa adicionar um arquivo de configuração no/etc/elasticsearch/jvm.opções.diretório D. Este arquivo deve terminar com o .Extensão de opções.

Por exemplo:

$ sudo touch/etc/elasticsearch/jvm.opções.d/heap.opções

Edite o arquivo

$ sudo nano/etc/elasticsearch/jvm.opções.d/heap.opções

Adicione o tamanho mínimo e máximo desejado da memória da heap.

Por exemplo, a entrada abaixo configura o tamanho mínimo e máximo da pilha para 4 GB.

Salve o arquivo e reinicie o Elasticsearch Service.

Conclusão

Neste tutorial, você aprendeu a pilha de JVM no contexto do Elasticsearch, como o Elasticsearch configura a pilha de JVM e como você pode modificar o tamanho da pilha.

Obrigado pela leitura!!