0

We just purchased a new server for our development department. It has 32GB of memory. I decided to install Server 2008 R2, instead of Hyper-V R2, mainly because if this server is ever called upon for other duties I would like a full OS.

How much memory does the host OS know to use? Being that the OS is 64 bit, it could use all 32GB, if it wanted to. But as soon as I allocate, and actually start a VM with say, 10GB of memory, does the host now know that it only has 22GB to use? I'm assuming that it will use whatever is available depending on what the VMs are using and adjust itself accordingly as VMs are brought up and down?

1
  • 3
    its a MS best practice not to have you hyper-v server run other roles/features, the hyper-v role makes quite a few changes to the running configuration and will impact other roles, sometime significantly.
    – tony roth
    Jun 23, 2010 at 14:45

2 Answers 2

1

With most VM management solutions, and I think this includes Hyper-V, the memory will be immediately allocated so the host will know it can not use it for anything else.

It may be allocated only from the virtual pool though, and being allocated from real RAM once the pages are first used, so you might not see the 10Gb immediately removed from the free RAM. This means that the OS can use the RAM for things like disk cache until such time as the VM really needs it.

1

There is a pretty good article from MS here. I typically have 2 GB reserved for the parent partition and then increment it up per VM or amount of virtual RAM.

According to the article:

"A good standard for the memory overhead of each VM is 32 MB for the first 1 GB of virtual RAM plus another 8 MB for each additional GB of virtual RAM. This should be factored in the calculations of how many VMs to host on a physical server. The memory overhead varies depending on the actual load and amount of memory that is assigned to each VM".

You must log in to answer this question.

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