Beim Versuch, die JVM-Heap-Größe für Elasticsearch in einem Windows-Feld zu erhöhen, habe ich die folgende Umgebungsvariable definiert:
ES_HEAP_SIZE = 6g
(Das Gerät hat insgesamt 12G RAM).
Ich habe ES neugestartet und die Speicherbelegung mit dem Befehl _nodes / stat HTTP GET abgefragt. Es scheint jedoch, dass es immer noch 1GB verwendet:
mem: {
%Vor%Sollte ES seine Heapspeichergröße nach dem Neustart nicht anpassen?
Aus den Notizen zu Ausführen von ES als Dienst unter Windows :
Beachten Sie, dass die während der Installation verfügbaren Umgebungskonfigurationsoptionen kopiert werden und während des Servicelebenszyklus verwendet werden. Das bedeutet, dass alle Änderungen, die nach der Installation an ihnen vorgenommen werden, nicht übernommen werden, wenn der Dienst nicht erneut installiert wird.
Wenn Sie die Deinstallation und Neuinstallation nicht durchführen möchten, können Sie die Änderung mithilfe des Service-Managers vornehmen. Führen Sie >service manager
Wählen Sie dann die Registerkarte 'Java'
Ändern Sie die Speicherpooleinstellungen, klicken Sie auf "Anwenden" und starten Sie den Dienst neu.
Nachdem ich den Elasticsearch-Windows-Dienst deinstalliert und neu installiert hatte, wurde die JVM-Heap-Größe korrekt erhöht. Es neu zu starten, ohne den Dienst neu zu installieren, hat nicht funktioniert.
Für die elastische Suche 1.5
Eine Möglichkeit besteht darin, die Datei /bin/elasticsearch.in.sh
standardmäßig auf einen anderen Wert als 1g zu ändern. Ändern Sie in Ihrem Beispiel ES_MAX_MEM=1g
für ES_MAX_MEM=6g
. Nach der Bearbeitung starten Sie Elastic Search neu und Sie sollten gut sein.
Tags und Links memory heap jvm elasticsearch