I just finished upgrading my first Windows 2008 R2 Hyper-V server and first clients to Service Pack 1 – specifically to try out Dynamic Memory. So far I have not been disappointed. To see how this works, I configured one of my servers to use Dynamic Memory and set to start at 512 MB of memory.


After starting the Operating System it adapted the amounts for the Assigned Memory and Memory Demand.


As shown below after the server booted up it continued to adapt to memory requirements.


The amount of memory gradually increased over time and matched what we saw in the guest Operating System (Assigned Memory 2836, Task manager in the guest shows a total of 2835).

[Day 1 Ends here]

[Day 2 Starts here]

I didn’t get a chance to wrap up this blog entry last night and I’m really glad that I didn’t finish it yet! Did anyone notice the graphic above and the mistake that I made on it? Let me highlight this below:


When I configured the Maximum RAM setting for my server I made a big mistake by maximizing the value. What I found was that my attempts to RDP to the host server were unsuccessful the next day. It turns out that it was connecting correctly but it was taking forever to log in. Once I could get it logged in eventually I was able to see the following: My host system was basically maxed out for physical memory usage (up to 99%) with my guest operating system taking nearly all of the available memory on the system.


To get myself out of this situation I ended up rebooting the host server and deleting the saved state for the guest Operating System (there may have been less impactful approaches to fix this but it was the best that I could come up with at the time).


Summary: I still think that Dynamic Memory still rocks, but be careful when configuring the upper bound memory for your virtual not to max out your host system!


Additional reading: Kevin Holman has already blogged on Dynamic Memory as well with some cool statistics which is available at: http://blogs.technet.com/b/kevinholman/archive/2011/02/22/using-dynamic-memory-on-hyper-v-2008-r2-sp1.aspx