• Archives

  • Follow me on Twitter

  • « | Home | »

    Why Dynamic Memory?


    dynamic_memoryMemory is the key factor to the number of running virtual machines. In 99% cases, you will run out of your memory and won’t be able to start a new virtual machine. In 1% cases, you will have no more disk space  (that happens to me from time to time :-)). Virtualization helps your organization to consolidate its infrastructure and provide a higher level of efficiency of your server. Dynamic Memory helps you to use your memory even better. The fact is, that almost nobody can size their virtual machine. How much memory do you need for your file server? For you IIS? Is it 2GB? Can it work on 1GB? So many questions, but you can never be sure that you will give a correct answer.

    System administrators take few approaches when sizing virtual machines.

    1. Some of them give each virtual machine the same amount of memory, and give more if somebody starts complaining about the performance. There are two problems with this approach. First problem is that you always have some users which suffer, but don’t complain. And second problem is that you are probably giving more memory than that virtual machine really needs (can Sharepoint server run on 1,5GB of RAM instead of 2GB?).
    2. Second approach is to give every virtual machine aloooot of memory (4GB, for example). In most cases, this is a huge waste of memory, and you should avoid this scenario.
    3. Third approach is to look at system requirements and follow them or give more or less memory.
    4. You can always listen to your vendor and follow his advice, but is that advice always a good one? What if he tells you that his application needs at least 4GB of RAM? Can you run it on 3GB? Did you test it?

    How do you size your virtual machines?

    Using Dynamic Memory, you specify the minimum and maximum RAM that can be assigned to a virtual machine. Dynamic Memory Virtual Service Consumer will report the status of the virtual machine (it’s needs) to the Memory Balancer, which then assigns more or less RAM to it (expect a detailed post about this process soon). With this process, your memory will get memory based on its current needs (of course, if you don’t have enough memory and have a high load in your virtual machines, guest operating systems will have to use paging).

    This system works pretty well. I managed to run 3 virtual machines with Exchange Server 2010 installed (with Database Availability Group) and one virtual machine that acted as a domain controller on my laptop with 4GB of RAM with 768MB reserved for a parent partition!!! Of course, it worked slow, but it worked fine enough for my demo.

    Do you plan to use Dynamic Memory? Do you use it already? Tell us something about your experience.




    blog comments powered by Disqus