Mmap with fork : Resource unavaialable temporarily

installed 64bit 16GB VM on 64bit ESX server.

Written small C code to map the 2GB of memory by mmap after creating 3 child
and map getting failed by throwing "resource unavailable temporarily" after mapping 1.6 GB of memory out of 2GB. But same 1.5Gb memory mapping works fine.

I checked maximum memory limit to 3.7GB and even increased the memory limit by near 4GB by setrlimit() function. Then also behaving same thing

Can any body know on this issue, please let me know

Regards,
---------Siddu