How much RAM should I give to the process?

How much memory should I allocate for cache?

ES shows the size for my index to be 4gb. For the process I allocated
2gb of RAM, but when I look at the task manager the ES process only
took 700Mb of memory. - does it mean that 700Mb is the max size of the
cache for my index and adding memory in excess of 700M would not do
any good. Or may be the process would take more if it could I would
configure it properly? Is there any way to tell which one it is?