SQL Server Memory Manager Changes in Denali

The next version of SQL Server will contain significant changes to the memory manager component. The memory manager component has been rewritten for Denali. In the previous versions of SQL Server there were two distinct memory managers. There was one memory manager which handled allocation sizes of 8k or less and another for greater than 8k. For Denali there will be one memory manager for all allocation sizes.

The majority of the changes will be transparent to the end user. However, some changes will be visible to the user. These are listed below:

  • The ‘max server memory’ configuration option has new lower limits. Specifically, 32-bit versions of SQL Server will have a lower limit of 64 MB. The 64-bit versions will have a lower limit of 128 MB.
  • All memory allocations by SQL Server components will observe the ‘max server memory’ configuration option. In previous SQL versions only the 8k allocations were limited the ‘max server memory’ configuration option. Allocations larger than 8k weren’t constrained.
  • DMVs which refer to memory manager internals have been modified. This includes adding or removing columns and changing column names.
  • The memory manager configuration messages in the error log have minor changes.
  • DBCC memorystatus output has been changed.
  • Address Windowing Extensions (AWE) has been deprecated.

In the next blog post I will discuss the changes to the memory manager DMVs in greater detail. In future blog posts I will discuss the other changes in greater detail.