Skip to content

Instantly share code, notes, and snippets.

@dominicsayers
Last active August 12, 2024 08:14
Show Gist options
  • Save dominicsayers/8319752 to your computer and use it in GitHub Desktop.
Save dominicsayers/8319752 to your computer and use it in GitHub Desktop.
Configuring ElasticSearch to use less memory

What I actually did

/etc/security/limits.conf

elasticsearch hard memlock 100000

/etc/default/elasticsearch

ES_HEAP_SIZE=128m
MAX_LOCKED_MEMORY=100000
ES_JAVA_OPTS=-server

/etc/elasticsearch/elasticsearch.yml

index.number_of_shards: 1
index.number_of_replicas: 0

Advice I read

http://blog.lavoie.sl/2012/09/configure-elasticsearch-on-a-single-host.html (for an old version)

Edit /etc/security/limits.conf and add: elasticsearch hard memlock 100000

Edit the init script: /etc/init.d/elasticsearch
Change ES_HEAP_SIZE to 10-20% of your machine, I used 128m
Change MAX_LOCKED_MEMORY to 100000 Be sure to set it at the same value as 1.1
Change JAVA_OPTS to "-server"

Edit the config file: /etc/elasticsearch/elasticsearch.yml
index.number_of_shards: 1
index.number_of_replicas: 0
index.term_index_interval: 256
index.term_index_divisor: 5
network.host: 127.0.0.1
network.tcp.block: true

http://stackoverflow.com/questions/18132719/how-to-change-elasticsearch-max-size

	/etc/security/limits.conf:
	elasticsearch - nofile 65535
	elasticsearch - memlock unlimited

	/etc/default/elasticsearch:
	ES_HEAP_SIZE=512m
	MAX_OPEN_FILES=65535
	MAX_LOCKED_MEMORY=unlimited

	/etc/elasticsearch/elasticsearch.yml:
	bootstrap.mlockall: true
@pavarotti305
Copy link

Why when I enable bootstrap.mlockall: true on /etc/elasticsearch/elasticsearch.yaml directly my connection is refused

@adamcrown
Copy link

FYI apparently much of this no longer applies in version >= 5. I found this helpful https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html .

@tencentemr
Copy link

thanx a lot. This really help me with a low memory server only 400MB left for ES.
Before this, i set jvm options max heap size 300MB for ES,but it always goes up to 560MB and cause server Crash.
Now its lower to 323 MB. very nice.

@SBarkovskiy
Copy link

Thanks for the guidance! Nowadays - working very well!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment