I'm planning to deploy a VMware vSphere Hypervisor for my office to host two Debian-based virtual machines:

  • Apache+MySQL web server for internal applications: CRM, ticket system and a wiki.
  • Repository server for Git and Subversion, accessed through HTTP.

We have a physical machine with 500GB of storage, enough CPU (4 x 2GHz Intel Xeon) and 16 GB of RAM. I would like to know the amount of memory that should be reserved for the hypervisor. We come from using VMware Server, and maybe this consideration is not necessary in vSphere.

And a second question: do you have any suggestions on how the RAM available should be distributed between the VMs?


  • You are not giving nearly enough information of OS, softwares, versions, modules etc. – 3molo May 3 '11 at 9:53

It's possible to set a reservation in vSphere but you shouldn't need to do this under normal circumstances. You should not need to make any automatic memory reservation on ESXi for the hypervisor. It will preserve sufficient memory for its usage by itself. Note that vSphere is (from the ground up) a completely different beast to VMWare's other products. There's little to zero common code there. So tweaks applied to workstation or server are almost universally irrelevant in a vSphere environment.

That said, if you over-allocate your RAM and one of the VMs demands more than the host can provide, your VMs will start swapping memory to disk (super slow!). So long as your VMs don't attempt to consume all of their allocated memory (typically only certain products such as SQL server will behave in this manner), you can allocate up to (and over) 100% of the host's RAM (since they'll never really use it all, anyway).

If you want to play it safe, leave at least 2Gb unallocated and carve the remaining 14Gb between your VMs however you like. Assuming you end up with 2 VMs with 6 to 8Gbs of RAM each, the extra RAM overhead per VM will be 300 to 400Mb.

Take a look at the vSphere Resource Management Guide for entirely too much information.

Above all though, my overriding advice is this: Do not tweak any settings or alter any defaults in any way on the host or VM configurations, unless there's a very specific need you have which is clearly solved by a particular setting. Don't make any 'sounds like a good idea' changes out of the box, it's a really fast way to get yourself into 'now I have lots of strange issues and nobody can help because my system's configuration is nothing like anyone else's system configuration'.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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