I've installed ElasticSearch 2.4 on my mac via HomeBrew. I'm trying to see if I can increase the JVM heap size for ElasticSearch.
I changed the following lines (to set the heap size to 8 gigs) in /usr/local/etc/elasticsearch/jvm.options
-Xms8g
-Xmx8g
I then restart the service using brew services restart [email protected] and run curl localhost:9200/_nodes/stats/jvm?pretty to check the JVM size but I get back:
"mem" : {
"heap_used_in_bytes" : 144690472,
"heap_used_percent" : 13,
"heap_committed_in_bytes" : 259522560,
"heap_max_in_bytes" : 1038876672,
"non_heap_used_in_bytes" : 62484680,
"non_heap_committed_in_bytes" : 65093632,
...
Why are my Xms8g and Xmx8g flags being ignored in jvm.options, and what should I do to make elsaticsearch respect them?
I've been basing my actions on: How to change Elasticsearch max memory size
Figured it out!
You need to change the environment variables passed through the
plistused to launch elasticsearch.In
/usr/local/Cellar/[email protected]/2.4.6/[email protected], under the<key>EnvironmentVariables</key>key, add:Beware, there's another
plistthat exists in~/Library/LaunchAgents/homebrew.mxcl.elasticsearch.plist. Changing this does nothing since it gets overwritten bybrew serviceson restart.Also of note, there are two
jvm.optionsfiles to do with ElasticSearch visible on your system:/usr/local/Cellar/[email protected]/2.4.6/libexec/config/usr/local/etc/elasticsearch/jvm.optionsIt looks like one of these is just a symlink to the other, and changing the memory flags in either of them does absolutely nothing.