To explain the same, I went and rebooted my Dynamic memory [DM] enabled guest machine LABW28R2FS1…just after the reboot, you can see the information of task manager and Hyper-V GUI, current memory counter matches and is identical.
However after manually reducing the memory buffer and memory priority of the VM, I made it release some memory dynamically and so the Dynamic memory virtualization service client DMVSC.sys took the memory from non paged pool and made it available to the Virtualization service provider [VSP] in host and hence the guest OS has no clue that memory was ever removed from it.
So the ballooned memory in fig 2 is 1755-512 =1243 MB . Now again by playing with memory buffer and priority settings I made memory available to VM and you can see when extra memory [more than what it had earlier] is made available, task manger counter and current memory counter in Hyper-V GUI matches.
So in simple words we can very well see that guest OS task manager has no clue when memory is removed via DMVSC.sys and hence you should not rely on task manager for total memory counter. Similar kind of testing showed me that we even should not rely on “Commit(MB)” counter in guest task manager. We in fact should use information made available in Hyper-V GUI.
I must say I love dynamic memory feature and I am using it since it was made beta on my Test Hyper-V host cluster and its awesome. I am eagerly waiting for the RC version and soon after SP1 Release we will get an update for SCVMM 2008 R2. There is another interesting blog entry made by fellow MVP Aidan Finn on Reserve host memory and is a must read especially if you are not following best practices and running roles other than Hyper-V and clustering in parent partition. Hope you enjoyed reading this and have a good time ahead.GAURAV ANAND
No comments:
Post a Comment