We are running elasticsearch v2.3.3 on a 7 node cluster.
Each machine in the cluster has 64 GB of ram.
We have configured 30GB heap size for each elasticsearch jvm.
The elasticsearch java process is consuming nearly 55 GB of resident memory.
What could be the cause of this huge memory usage over heap?
This is not JVM heap, this is the OS caching things and is nothing ES can control.
The 55 GB resident size is of elasticsearch java process and not of linux buffer cache.
ES can only ever use whatever you assign to the JVM.
This has been asked before, you may want to search for similar things and look at the answers there.