Changes to memory management starting with
In older versions of SQL Server, memory allocation was done using five different mechanisms:
Output
In older versions of SQL Server, memory allocation was done using five different mechanisms:
, including only memory allocations that were less than, or
equal to 8 KB in the SQL Server process. The
and
configuration options determined the limits of physical memory that the SPA
consumed. The Buffer Pool was simultaneously the mechanism for SPA, and the largest
consumer of single-page allocations.
, for memory allocations that request more than 8 KB.
, including the SQL CLR heaps and its global allocations that are created
during CLR initialization.
Memory allocations for
in the SQL Server process.
, for memory allocation requests made directly to
Windows. These include Windows heap usage and direct virtual allocations made by
modules that are loaded into the SQL Server process. Examples of such memory
allocation requests include allocations from extended stored procedure DLLs, objects that
are created by using Automation procedures (
calls), and allocations from linked
server providers.
Starting with SQL Server 2012 (11.x), Single-Page allocations, Multi-Page allocations and CLR
allocations are all consolidated into an
, and included in memory
limits controlled by
and
configuration
options. This change provided a more accurate sizing ability for all memory requirements that
go through the SQL Server memory manager.
2012
)
Important
Carefully review your current
and
configurations after you upgrade to SQL Server 2012 (11.x) and later versions. This is
because starting in SQL Server 2012 (11.x), such configurations now include and account
for more memory allocations compared to earlier versions. These changes apply to both
Total Server
Memory (KB)
Target Server Memory (KB)
Total Server
Memory (KB)
Target Server Memory (KB)
Total Server Memory (KB)
Target Server Memory (KB)
max server memory (MB)
min server memory (MB)
sp_OA
max server memory (MB)
min server memory (MB)
A significant part of SQL Server process memory has been paged out. This may result in a performance degradation. Duration: #### seconds. Working set (KB): ####,
committed (KB): ####, memory utilization: ##%.
max server memory (MB)
min server memory (MB)