0

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?

6
  • 1
    What's the actual problem? Why do you care where your 'free' memory is if you're not using it?
    – growse
    Nov 30, 2012 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.. Nov 30, 2012 at 12:31
  • Did you configure any resource pools or reservations? Can you show a screenshot of the error?
    – ewwhite
    Nov 30, 2012 at 13:35
  • @ewwhite No, but I think exactly that is the problem. Here is a screenshot [imageshack.us/f/43/image002tu.png/] Nov 30, 2012 at 14:18
  • 4
    That error refers to disk, not RAM. It even said so. Nov 30, 2012 at 14:42

2 Answers 2

4

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.

1

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .