Thursday, February 17, 2011

FAQ - Dynamic Memory and RemoteFX (Windows Server 2008 R2 SP1)

Updated March 5.
Updated February 26.
Updated February 22.
Updated February 20.

I`ve spent some time in the Hyper-V forum at TechNet and want to present some of the most common questions about the new features in service pack 1 – which includes Dynamic Memory and RemoteFX.

Q: I have installed SP1, but I can`t see any information about dynamic memory when I create a new VM?
A: When you`re using the wizard to create a VM, you would not be presented with any option for dynamic memory. You will find the dynamic memory option when you open the VM`s settings in Hyper-V Manager afterwards
Q: I have installed SP1 on my Hyper-V host, but I can`t manage dynamic memory from my client?
A: To be able to manage your Hyper-V host with the new dynamic memory feature from your clients, you also need to upgrade your clients with SP1 (Win7 or/and Windows Server 2008 R2)
Q: I`ve installed SP1 and configured the VMs with dynamic memory. However, they does not seem to be functioning with this new feature?
A: After you have installed SP1 on the Hyper-V host, remember to upgrade the IC in the VMs. SP1 brings an updated version of the Integrations Services, that the VMs need to be aware of.
In addition: make sure your guest OS supports this feature.
Q: When will SP1 be available?
A: February 16 on MSDN. February 22 through Windows Update.
Q: When will SCVMM support SP1?
A: SCVMM will not support SP1 until it releases its SP1 update. The official MSFT word on the release of the SCVMM 2008 R2 SP1 update is 60 days after the general availability of the Windows Server 2008 R2 SP1 release
Q: Will SP1 also work on Microsoft Hyper-V 2008 R2 server?
A: Yes, Windows Server 2008 R2 and Hyper-V 2008 R2 use the same service pack – so it will work.
Q: I want to use RemoteFX – but how?
A: To use RemoteFX, the Hyper-V server must be running Windows Server 2008 R2 SP1, the VMs must be running Windows 7 Enterprise with SP1 or Windows 7 Ultimate with SP1, and the remote client computer must be running either Windows Server 2008 R2 with SP1 or Windows 7 with SP1
Q: Are there any HW requirements for RemoteFX?
A: The processor must support SLAT (Second-Layer Address Translation), The graphics card`s GPU must support DirectX 9.0c and DirectX 10. If multiple GPUs, they must be the same card. The cluster requirements would include that the source and the target nodes have identical GPUs.
Q: What changes do I need to do with my cluster after installing SP1?
A: Remember to upgrade every node in the cluster with SP1
Q: Can a VM with upgraded IC be used on another Hyper-V host afterwards?
A: Once a VM has been configured to use dynamic memory by installing the latest Integration Components on the guest operating system, the VM will no longer work on pre-SP1 hosts and cannot be moved to such host.
Q: Are there any cluster-benefits with SP1?
A: As far as RAM concern, you only need to calculate the amount of physical memory available in the cluster when a node has failed and ensure that the sum value of all startup RAM values for all VMs on the cluster does not exceed your calculated value.
Q: If I already have installed the RC of SP1, do I need to uninstall it before installing the RTM of SP1?
A: Yes. There is no in place upgrade from RC to RTM
Q: How does actually dynamic memory works?
A: Hyper-V host and the enlightened VM communicate through the VMBus (the server use Virtual Service Provider and the client use Virtual Service Consumer) to determine the current memory needs of the VM. If the workload of the VM increases and need more memory – then memory is dynamically added to the VM. If the workload decreases (or other VMs have higher memory priority)– the memory is dynamically removed from the VM.
Q: When will the Dynamic Memory Priority kick in?
A: When all available physical memory has been allocated to VMs on the host, the dynamic memory priority starts to play. It will cause the memory to shrink on VMs with no – or lower priority, and allocate more memory to the VMs with higher priority.
Q: And what about the memory buffer?
A: Think of this as a memory reserve for the VM. If you configure a buffer of 50% means that an additional memory of up to 50% of committed memory can be allocated to the VM. The guest OS running in the VM usually use the additional memory for system file cache and performance of the OS and applications.
Q: Can I use Dynamic Memory on both x86 and x64 architectures?
A: Yes, it`s supported for both. (Windows Server 2003/2003 R2/2008/2008 R2)
Q: What happens with guest OS that does not support Dynamic Memory?
A: If you ‘enable’ dynamic memory on a VM which has a guest OS that does not support dynamic memory, it will only use the value defined in the startup RAM.
Q: After I have upgraded the IC within the guest, do I need to reboot before enabling Dynamic Memory?
A: Yes, but you could rather power off the VM after upgrading the IC, configure dynamic memory, and then boot the VM again.
Q: Can I use Dynamic Memory on VMs that is running SQL server or/and Exchange server?
A: You can use Dynamic Memory on every VM as long as the guest OS supports this feature.
When it comes to SQL and Exchange – that are using memory extensively, you may consider defining the maximum RAM value for those VMs. In addition, remember that you can set a similar option on the SQL server – better known as ‘minimum RAM’, and ‘maximum RAM’. This will also affect dynamic memory on the VM. SQL Server announced full support for Dynamic Memory and recommend to set Memory Buffer = 5% for SQL workloads. http://support.microsoft.com/kb/956893
Q: How can I reserve some memory for the parent partition (Hyper-V host)
A: A new registry key is available after you install SP1 on the Hyper-V host
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Virtualization
REG_DWORD value
Name = MemoryReserve
Setting= amount of MB to reserve for the parent partition (minimum 2GB is recommended)
You have to reboot your host to let the changes take effect.
Q: My VMs are currently using only 400MB of RAM, and the setup I intend to run, requires that there is at least 2GB RAM installed. Do I need to power off my VM and assign a higher value of startup RAM?
A: You could assign a higher value of startup RAM, increase the memory buffer, or simply launch mspaint and alter the pixels. It would force the VM to allocate more memory if available on host. How to: http://kristiannese.blogspot.com/2011/02/windows-server-2008-r2-and-windows-7.html
Q: What is the recommended startup RAM for the supported guest operating system with Dynamic Memory enabled?
A: Windows Server 2008 R2 Enterprise/Datacenter, Win7 Ultimate/Enterprise, Windows Server 2008 Enterprise/Datacenter, and Windows Vista Ultimate/Enterprise are recommended to have a startup RAM of 512MB, Windows Server 2003 R2 Enterprise/Datacenter and Windows Server 2003 Enterprise/Datacenter are recommended to have a startup RAM of 128MB
Q: Currently have Windows Server 2008 R2 Hyper-V guest OSes setup to run on specific NUMA nodes.  How will the SP1 update enabling Dynamic Memory impact these affinity settings?
A: With SP1, it`s actually possible to control whether NUMA spanning is allowed. You may have a performance impact if VMs uses memory from more than one NUMA node, but Hyper-V will try to minimize the spanning - though it would use memory from more than 1 NUMA node if there is no other way. You can also simply turn off the NUMA spanning in the Hyper-V setting in Hyper-V Manager. When you disable NUMA node spanning, you make the system behave like multiple small computers
Q: I am preparing to install 2008 R2 SP1 on a 2 node Hyper-V cluster, currently running 2008 R2 Datacenter. Is there anything I should be aware of before applying SP1?
A: You should not configure the dynamic memory settings on the VMs before every node is updated with SP1. Just simply migrate the VMs from the node you intend to update, and remove them back again when you update the second, and third, and so on. When every node is updated, you should install the new IC within the guest, power off your VMs, and configure Dynamic Memory. Remember that if some of your VMs run Windows Server 2008 R2 Web/Standard, you need to install SP1 within the guest to support dynamic memory.
Q: After upgrading the guest to the latest IC, do all guests have to be shut down simultaneously before enabling dynamic memory, or can I enable dynamic memory and reboot the guests one at a time?
A: No. The Dynamic Memory setting is individual to each machine, so there is no problem if you decide to enable Dynamic Memory on one machine at a time.
The important thing is to not enable dynamic memory on a VM before every node is updated with SP1 - in case of a migration /failover
Q: Why are the Dynamic Memory option is available for all of my VMs, even the VMs who is running Windows XP?
A: The Dynamic Memory feature is a global setting in Hyper-V, which is available at the highest level. Though it`s visible on every VM, does not mean that it support every guest OS.
Q: What is the correct version of the VMBus after updating the IC?
A: The correct version of the VMBus should be 6.1.7601.17514 after you have installed SP1 on your Hyper-V host, and updated your supported guest OS with the new IC.
Q: How can I monitor Dynamic Memory?
A: There are two new performance counters (perfmon) available after you have installed SP1 .
‘Hyper-V Dynamic Memory Balancer’, and ‘Hyper-V Dynamic Memory VM’. In addition, there is also three new columns in Hyper-V Manager related to Dynamic Memory. ‘Assigned Memory’, ‘Memory Demand’, and ‘Memory Status’.
Q: I need to find some information regarding RemoteFX compatibility list – but where?
A: Check this article: http://technet.microsoft.com/en-us/library/ff817602(WS.10).aspx which contains additional links for GPU`s that will work with RemoteFX

I`ll guess this one will be frequently updated during the next days/weeks.

(Do not hesitate to ask us in the Hyper-V TechNet Forum if you did not find the answer to your question in this post.)

Cheers,