I have 3 node setup, my CPU usage is very low, I have 4 cpu and 32 gb of ram. why its taking so much ram.
Elasticsearch relies heavily on the operating system page cache for performance so it is expected that Elasticsearch will use 100% of RAM if you have enough data in the cluster to fill the page cache. It is recommended to have Elasticsearch run on dedicated nodes so no other processes interfere with the page cache, which means this is not an issue. If there are other processes that require memory the operating system will shrink the size of the page cache when required.
See also https://www.linuxatemyram.com/
That is an excellent link!
All nodes are dedicated for the elasticsearch no other processes are running.
Does that mean I do not need to worry about anything
Yes. The memory is there to be used.