Memory issue in ES

I face some memory issue in Elasticsearch. Below are the details.
I am having 3 nodes cluster of ES having 8 GB memory on each node.
in /etc/sysconfig/elasticsearch, I have given ES_HEAP_SIZE=2GB. It doesnt start if I set more than 2 GB.

ouot put of command $ free -m is

        total       used       free     shared    buffers     cached

Mem: 7872 7392 480 0 254 1404
-/+ buffers/cache: 5733 2139
Swap: 0 0 0
Total: 7872 7392 480

Pleas guide me what to do? I want to increase memory allocation for ES

What do you mean? Is there anything in the logs?

Hi Mark,

Before automatic shutdown of ES, below was the error I found in error logs.

[2016-06-28 10:55:39,102][DEBUG][ ] [sit-master-data-node-0] [vsi-im-2016.05.03][1], node[NFPHRFEiTyKSMauArhy8uw], [P], s[STARTED]: Failed to execute [] lastShard [true]
org.elasticsearch.transport.RemoteTransportException: [sit-data-Node-2][inet[/:9300]][indices:data/read/search[phase/query]]
Caused by: org.elasticsearch.common.util.concurrent.EsRejectedExecutionException: rejected execution (queue capacity 1000) on org.elasticsearch.transport.netty.MessageChannelHandler$RequestHandler@76c2f83c
at org.elasticsearch.common.util.concurrent.EsAbortPolicy.rejectedExecution(
at java.util.concurrent.ThreadPoolExecutor.reject(
at java.util.concurrent.ThreadPoolExecutor.execute(
at org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor.execute(
at org.elasticsearch.transport.netty.MessageChannelHandler.handleRequest(

When I start it again, it gives me error somewhat like--> "cannot allocate required memory (3489****).........."

I could not get exact stacktrace because that error appeared on console.