Virtualization Best Practices - How Much Memory Is Enough?

Memory is another key area to consider when you set up virtualization. After all, you can have all the processing power in the world, but unless you have enough memory to run those VMs at the same time, you’ll be stuck with extra processing power.

Hyper-V doesn’t support the concept of allocating more memory than is available in the host system. This prevents you from affecting the performance of the host. (If you started a VM using 4GB on a system with 2GB of RAM, the system would need to use virtual memory to provide the extra memory beyond what was available on the host.) How much memory is necessary for the host? The usual answer applies here: It depends on a number of factors.

Number of VMs running, and their allocated memory. How many VMs will be running on the host, and how much memory will be allocated to each one? The amount of memory each VMs needs is entirely dependent on the workload running within the VM. A SQL Server running in a VM will require much more memory than a departmental file server.

Other workloads running on the host. Although it’s recommended that Hyper-V be the only role running on the host, it’s possible that this won’t be the case. If so, it’s critical that enough memory be available to service all the other workloads running on the system. Refer to the memory requirements of the other workload(s) that will be running on the host, and add that amount to the total amount of memory required for the VM.

Host reserves. It’s recommended that you set aside 512MB of RAM for the host. That memory is used by Hyper-V’s virtualization stack that runs in the parent partition, as well as by any services running in the parent partition. Hyper-V won’t allow a VM to launch unless at least 32MB of RAM is available.

Other VMs (for quick-migration scenarios only). If the host is part of a Windows Server
2008 cluster for quick migration, ensure that there are sufficient resources across all nodes of the cluster in case one node goes down. If a node hosting VMs goes offline for any reason, those VMs will attempt to restart across all other nodes in the cluster. However, if there’s not enough memory on the cluster’s remaining active nodes, the VMs may not be able to start.

Luckily, monitoring the amount of available memory on a Hyper-V host is significantly easier than monitoring processor utilization, because memory utilization appears in Task Manager. You can also monitor the host’s memory utilization using the Memory Available Mbytes counter.

In some rare cases, a VM may not be able to start even when plenty Note of memory is available. This is most commonly seen when large file copies are performed in the parent partition. Microsoft has released a hotfix for this as KB953585.

Source of Information : Sybex Windows Server 2008 Hyper-V Insiders Guide to Microsofts Hypervisor

No comments:

Cloud storage is for blocks too, not just files

One of the misconceptions about cloud storage is that it is only useful for storing files. This assumption comes from the popularity of file...