none
dynamic memory and Exchange or SQL

    Question

  • Hi everyone!

    Am I right that dynamic memory does not make sense with Exchange or SQL? Due to the fact that Exchange and SQL take all the memory that is available, Hyper-V will always give the machine the maximum amount of memory until it reaches the limit.

    How do you guys handle this?

    Rgds,

    Andreas

    Friday, February 18, 2011 10:02 AM

Answers

  • You are right that the dynamic memory feature will give the SQL and Exchange servers the possibility to grow over the limit. It`s important to know your workloads, and also reserve some amount of RAM for the Hyper-V host.

    Remember that you also have the option to define the maximum RAM on your VMs.

    Regards.


    Kristian (Virtualization and some coffee: http://kristiannese.blogspot.com )
    Friday, February 18, 2011 10:36 AM
  • Great question. We're working with these teams to have guidelines on configuring Dynamic Memory for these workloads.

    SQL Server announced full support for Dynamic Memory (http://support.microsoft.com/kb/956893). We'll start having blog posts about the initial guidelines in the blog posts pointed by above link and eventually publish a whitepaper around it. Important thing is to set Memory Buffer = 5% for SQL workloads.

    Exchange Server is a little bit different. Mailbox Role in Exchange Server does not change its memory allocations on the fly. So Dynamic Memory will not provide many benefits for this role. Other roles of Exchange can run with Dynamic Memory without any special configuration.

    Thanks,


    Serdar Sutay [MSFT]
    Program Manager, Hyper-V
    This posting is provided "AS IS" with no warranties, and confers no rights.
    Monday, February 21, 2011 4:50 PM

All replies

  • You are right that the dynamic memory feature will give the SQL and Exchange servers the possibility to grow over the limit. It`s important to know your workloads, and also reserve some amount of RAM for the Hyper-V host.

    Remember that you also have the option to define the maximum RAM on your VMs.

    Regards.


    Kristian (Virtualization and some coffee: http://kristiannese.blogspot.com )
    Friday, February 18, 2011 10:36 AM
  • Great question. We're working with these teams to have guidelines on configuring Dynamic Memory for these workloads.

    SQL Server announced full support for Dynamic Memory (http://support.microsoft.com/kb/956893). We'll start having blog posts about the initial guidelines in the blog posts pointed by above link and eventually publish a whitepaper around it. Important thing is to set Memory Buffer = 5% for SQL workloads.

    Exchange Server is a little bit different. Mailbox Role in Exchange Server does not change its memory allocations on the fly. So Dynamic Memory will not provide many benefits for this role. Other roles of Exchange can run with Dynamic Memory without any special configuration.

    Thanks,


    Serdar Sutay [MSFT]
    Program Manager, Hyper-V
    This posting is provided "AS IS" with no warranties, and confers no rights.
    Monday, February 21, 2011 4:50 PM
  • Can you say whether there will ever be support for lower SQL Server or Exchange Server editions to support adding memory at runtime? 

     

    Clarification: for SQL Server Standard, for example, to be able to use memory added by Dynamic Memory at runtime.

     


    All posted code is licensed under the Creative Commons CC-BY license unless stated otherwise.
    Wednesday, February 23, 2011 6:35 AM
  • All editions of SQL Server will be supported. However you'll be able to get benefits from dynamically changing memory only from SQL Server editions that support emory added at runtime (Enterprise, Datacenter editions).

    SQL team is evaluating to have dynamically changing memory support in future versions.

    Thanks,

    Serdar


    Serdar Sutay [MSFT]
    Program Manager, Hyper-V
    This posting is provided "AS IS" with no warranties, and confers no rights.
    Wednesday, February 23, 2011 5:29 PM
  • Just want to add to Serdar`s reply: Remember that the Express Edition of SQL server is limited to only 1GB RAM, and the Workgroup is limited to 4GB RAM.

    Here`s an article regarding SQL servers and Hyper-V with dynamic memory: http://kristiannese.blogspot.com/2011/02/sql-servers-and-hyper-v-with-dynamic.html

    Regards,  


    Kristian (Virtualization and some coffee: http://kristiannese.blogspot.com )
    Wednesday, February 23, 2011 5:51 PM
  • I'm noticing 100% CPU issues and halts when using dynamic memory with SQL Server Standard, will posting a connect feedback item as soon as I can log in. (I'm failing to get to the "sign in" prompt.)

     

    Connect issue posted here: https://connect.microsoft.com/SQLServer/feedback/details/646498/enabling-hyper-v-dynamic-memory-causes-to-100-cpu-usage-hang-with-sql-server-2008-r2-standard-cu6

     


    All posted code is licensed under the Creative Commons CC-BY license unless stated otherwise.
    Wednesday, February 23, 2011 6:46 PM
  • It looks like the issue is due to SQL Server Standard seeing only a limited set of memory, and with the SQL Server max memory set above that, a hang condition can occur. 

     

    We worked around the issue by setting the startup memory of the VM to 15000MB, and the minimum memory to 15MB, as per:

    http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/09/15/scripting-dynamic-memory-part-5-changing-minimum-memory.aspx


    All posted code is licensed under the Creative Commons CC-BY license unless stated otherwise.
    Monday, March 14, 2011 2:51 PM