Large virtual memory size of ElasticSearch JVM

Posted by wfaulk on Server Fault See other posts from Server Fault or by wfaulk
Published on 2013-10-23T19:09:54Z Indexed on 2013/10/23 21:55 UTC
Read the original article Hit count: 636

I am running a JVM to support ElasticSearch. I am still working on sizing and tuning, so I left the JVM's max heap size at ElasticSearch's default of 1GB. After putting data in the database, I find that the JVM's process is showing 50GB in SIZE in top output. It appears that this is actually causing performance problems on the system; other processes are having trouble allocating memory.

In asking the ElasticSearch community, they suggested that it's "just" filesystem caching. In my experience, filesystem caching doesn't show up as memory used by a particular process. Of course, they may have been talking about something other than the OS's filesystem cache, maybe something that the JVM or ElasticSearch itself is doing on top of the OS. But they also said that it would be released if needed, and that didn't seem to be happening.

So can anyone help me figure out how to tune the JVM, or maybe ElasticSearch itself, to not use so much RAM.

System is Solaris 10 x86 with 72GB RAM. JVM is "Java(TM) SE Runtime Environment (build 1.7.0_45-b18)".

© Server Fault or respective owner

Related posts about memory

Related posts about java