Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

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?

share|improve this question
1  
What's the actual problem? Why do you care where your 'free' memory is if you're not using it? –  growse Nov 30 '12 at 12:02
    
Sorry, didn't explained well. So the first and the second VMs are running. When I try to power on the third one, an error pops up, which says that there is not enough RAM. But there should be.. –  Edin Cenanovic Nov 30 '12 at 12:31
    
Did you configure any resource pools or reservations? Can you show a screenshot of the error? –  ewwhite Nov 30 '12 at 13:35
    
@ewwhite No, but I think exactly that is the problem. Here is a screenshot [imageshack.us/f/43/image002tu.png/] –  Edin Cenanovic Nov 30 '12 at 14:18
4  
That error refers to disk, not RAM. It even said so. –  Michael Hampton Nov 30 '12 at 14:42

2 Answers 2

up vote 4 down vote accepted

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.

share|improve this answer

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:

  • Here is a trick, the hypervisor will only create a swap file for memory which isn't allocated. You have spare RAM, so if you don't want to get more storage, just set reservations for the 3 virtual machines you are running.

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.

  • Probably the better option if you plan on growing: Add more storage space, and use it for the VMs.
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.