I have an VMWare ESXi hypervisor installed. The physical amount of RAM is 32 GB. On this hypervisor are three virtual machines. To one I gave 8 GB of RAM, to the second 1, and to the third 2. That's 11 in total. Although the configuration of the ESXi says that all 32 GB of RAM are used. I don't get where my 'free' 21 of RAM are.. Any help?
To boot a virtual machine file, ESXi must always allocate a file on the VM's datastore equal to the size of the VM's RAM.
This is done in case of memory contention on the host, so that the space is guaranteed to be available if the host needs to put some of the VM's memory into disk swap as a last resort to free needed physical memory. See here for more information on the memory management techniques that ESXi uses.
If there's not enough storage available on your disk to allocate a swap file large enough to back the VM's RAM, it'll fail to boot. That's what you're seeing; it succeeds when your RAM allocation is lower because the swap files are smaller.
As Shane said, you don't have enough spare disk space to grow the swap file for the VMs you are trying to power up. You have two options:
So VM 1 should have 8GB RAM reserved (you do this in the settings of the VM, you may need to have it powered off) VM2 should have 1gb reserved, and vm3 should have 2gb reserved.
If you reserve all the RAM you require, the hypervisor wont create swap files.