Can't make JVM size settings stick

Hi,

I'm having a problem with ElasticSearch 6.0.0 ignoring the JVM settings file (located in C:\elasticsearch\config) and setting the JVM heap size to 1GB. This then causes ES to stop as it runs out of memory. I've tried setting it as an Environment Variable and in the jvm.options file but it always gets ignored. The output from elasticsearch.log file is shown below. It defaults the JVM arguments to using 1g for -Xms & -Xmx. My config in jvm.options file is also shown below for ref.

## JVM configuration

################################################################
## IMPORTANT: JVM heap size
################################################################
##
## You should always set the min and max JVM heap
## size to the same value. For example, to set
## the heap to 4 GB, set:
##
## -Xms4g
## -Xmx4g
##
## See https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html
## for more information
##
################################################################

# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space

-Xms4g
-Xmx4g

elasticsearch.log...

[2018-01-12T19:52:11,888][INFO ][o.e.n.Node               ] [server1] initializing ...
[2018-01-12T19:52:12,075][INFO ][o.e.e.NodeEnvironment    ] [server1] using [1] data paths, mounts [[DATA (D:)]], net usable_space [39.5gb], net total_space [99.9gb], types [NTFS]
[2018-01-12T19:52:12,075][INFO ][o.e.e.NodeEnvironment    ] [server1] heap size [990.7mb], compressed ordinary object pointers [true]
[2018-01-12T19:52:27,982][INFO ][o.e.n.Node               ] [server1] node name [server1], node ID [2HovUhtrTPqSt13ZPP8w4w]
[2018-01-12T19:52:27,982][INFO ][o.e.n.Node               ] [server1] version[6.0.0], pid[1508], build[8f0685b/2017-11-10T18:41:22.859Z], OS[Windows Server 2012 R2/6.3/amd64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_144/25.144-b01]
[2018-01-12T19:52:27,982][INFO ][o.e.n.Node               ] [server1] JVM arguments [-Xms1g, -Xmx1g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -XX:-OmitStackTraceInFastThrow, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -XX:+HeapDumpOnOutOfMemoryError, -Delasticsearch, -Des.path.home=c:\elasticsearch, -Des.path.conf=c:\elasticsearch\config, exit, -Xms1024m, -Xmx1024m, -Xss1024k]

I'm obviously missing something but I can't work out what. I'm starting to think this is something that has to be set at the point of installing the service but I'm hoping that isn't the case...

Thanks for any help you offer.

This is correct, you have to set it when you install the service. Sorry to disappoint you in that regard, but it's a limitation of the underlying technology used to run Elasticsearch as a service on Windows.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.