Denali – Memory: “any size” page allocations

I blog introduction to Memory here.
Considering you already know memory concept, till sql server 2008 R2, memory management is divided into two parts:

BPool – Single page allocation

Mem_to_Leave – Multipage allocation.

Single page allocation is a 8k page allocated and can be controlled by sql server setting “Min/Max server Memory” option. And it has a fixed size page allocation. It can be saved all the buffer pool information included data pages, procedure cache, execution plan cached. Etc.

Multipage allocation is a kind of external memory required by sql server which is generally size >8k. it is also known as Mem_to_Leave and can be set using –g startup option. These type of allocation included extended stored procedures, CLR, DLL etc, so if you have pressure on this you could not know how to control it.

Specially for 32bit OS system where memory is limited (Virtual Address Space – VAS) to max 4gb.Multipage is impacting performance. Whereas for 64 bit Mem_to_Leave is not applicable as VAS capacity is unrestricted.

To enhance the capacity of 32 bit system sql server were used to have AWE(Address Windowing Extension) to use more then 4gb of VAS memory (extra memory is useful to data pages only) for sql server, impacting multipage and kernel resource. As you know these days most of the big system are of 64bit os with high memory, (as resource cost is low). So that way for high capacity system Microsoft recommend to go for 64bit OS system. Due to this for Denali AWE is decrypted.

Denali has made some major changes in memory management by introducing “Any size” page allocation, now both single page and Mem_To_Leave can be controlled by “Max Server Memory” setting, this way we can explicitly understand how much of memory is being used by sql server and can be better managed. So when you migrate/upgrade you system remember this important point. This also make many changes to monitoring system and all the related monitoring tool/DMV/DBCC Memory status/etc has been changes accordingly.

Please read the reference blog by SQLOS team for more information.

http://blogs.msdn.com/b/sqlosteam/archive/2012/07/11/memory-manager-surface-area-changes-in-sql-server-2012.aspx

http://blogs.msdn.com/b/sqlosteam/archive/2011/01/04/sql-server-memory-manager-changes-in-denali.aspx

http://support.microsoft.com/default.aspx?scid=kb;EN-US;2663912

http://blogs.msdn.com/b/sqlosteam/


About these ads
This entry was posted in Denali, Memory and tagged , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s