Microsoft distributes Microsoft SQL Server 2012 Service Pack 1 fixes as one downloadable file. Because the fixes are cumulative, each new release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2012 Service Pack 1 fix release.

Symptoms

Consider the following scenario:

  • You install Microsoft SQL Server 2012 on a server.

  • The CPU on the server has many cores. For example, the CPU has 64 or 128 cores, and it includes a non-uniform memory access (NUMA) configuration.

  • The server has lots of memory. For example, the server has 256 gigabytes (GB) or 1 terabyte (TB) of memory.

  • The Resource Monitor thread keeps spinning, and there is no load on the server.

In this scenario, a CPU spike occurs.Note This issue occurs only when the "max server memory" option is set to a low value.

Cause

This issue occurs because SQL Server Memory Manager requires lots of memory to set up the infrastructure for dynamic memory management.

More Information

SQL Server Memory Manager has been redesigned, and it now provides page allocations for the other components. More specifically, the "max server memory" option controls the volume of memory that SQL Server Memory Manager allocates to other components. In SQL Server 2005 and later versions of SQL Server, the target memory calculation occurs during the SQL Server startup operation. Each NUMA node receives an equal amount of memory.The startup memory for the SOSMemoryManager clerk on a 1-TB 8-node box is about 1 GB when the server is not using locked pages. When the server is using locked pages, the clerk requires additional memory to maintain pointers for the operating system pages. In this situation, all the memory is allocated from Memory Node 0 in SQL Server Memory Manager. For example, the memory requirements of a 1 TB physical memory box are as follows:

  • Node 0 requires about 4 GB of memory when Lock Pages In Memory (LPIM) is enabled.

  • Node 0 requires about 1 GB of memory when LPIM is not enabled.

Therefore, Node 0 requires more than 4 GB of memory when LPIM is enabled (or 1 GB when LPIM is not enabled) during the SQL Server startup operation. However, a box that has four NUMA nodes requires 16 GB of memory (4 NUMA nodes * 4 GB per node) during the startup operation. Additionally, a box that has eight NUMA nodes requires 32 GB of memory during the startup operation.To determine whether you are experiencing this issue, run the following Dynamic Management View (DMV):SELECT * FROM sys.dm_exec_requests WHERE COMMAND = 'RESOURCE MONITOR'If one of the resource monitors is constantly accumulating CPU while the other resource monitors are idle, you are experiencing this issue. In this situation, the idle resource monitors are not loaded.

Resolution

Cumulative update information

Cumulative Update 3 for SQL Server 2012 SP1

The fix for this issue was first released in Cumulative Update 3. For more information about how to obtain this cumulative update package for SQL Server 2012 SP1, click the following article number to view the article in the Microsoft Knowledge Base:

2812412 Cumulative update package 3 for SQL Server 2012 Service Pack 1Note Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2012 SP1 fix release. We recommend that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

2772858 The SQL Server 2012 builds that were released after SQL Server 2012 Service Pack 1 was released

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

Workaround

To work around this issue, follow these steps:

  • Enable Trace Flag 8015 to disable auto-detection and NUMA setup.

  • Set the "max server memory" option to a large value.

References

For more information about the Incremental Servicing Model for SQL Server, click the following article number to view the article in the Microsoft Knowledge Base:

935897 An Incremental Servicing Model is available from the SQL Server team to deliver hotfixes for reported problems For more information about the naming schema for SQL Server updates, click the following article number to view the article in the Microsoft Knowledge Base:

822499 Naming schema for Microsoft SQL Server software update packages For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates

Need more help?

Want more options?

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.