W próbie zwiększenia JVM wielkość sterty dla Elasticsearch na pole okna, ja zdefiniowano następującą zmienną środowiskową:Elasticsearch donosi domyślny rozmiar pamięci sterty po ustawieniu zmiennej środowiskowej
ES_HEAP_SIZE = 6g
(Maszyna posiada 12G RAM w sumie).
Uruchomiłem ES i zapytałem o jego wykorzystanie pamięci za pomocą polecenia _nodes/stat HTTP GET. Wydaje się jednak, że to wciąż przy 1GB:
mem: {
heap_used_in_bytes: 1032367576,
heap_used_percent: 99,
heap_committed_in_bytes: 1037959168,
heap_max_in_bytes: 1037959168,
...
Gdyby nie ES dostosować jego wielkość pamięci sterty po restarcie?
To działało! Używam systemu Windows Server 2012 i miałem ten sam problem (mimo że korzystałem ze zmiennych środowiskowych ES_MIN_MEM i ES_MAX_MEM - dodałem ES_HEAP_SIZE dla dobrego pomiaru). Próbowałem ponownie uruchomić (w nowym oknie Powershell Administrator, aby odebrać zmiany env) bez skutku. Użycie {ES_HOME} \ bin \ service.bat stop/remove/install/start (jako Administrator) pomyślnie zmieniło alokację pamięci. Musi on zbierać zmienne środowiskowe podczas instalacji, a nie w czasie wykonywania. Dziękujemy za przesłanie własnej odpowiedzi! –
Dziękuję. Próbowałem już wielu innych rzeczy i to zadziałało! –