Symptoms

Assume that you install the 64-bit version of Microsoft SQL Server 2014, 2016 or 2017 on a computer that's running Windows Server 2012 or an earlier version of Windows operating system. When SQL Server uses up all the user-mode virtual address space, you may receive an out of memory error message in the SQL Server error log. Additionally, queries take a long time to finish execution, and the SOS_MEMORY_TOPLEVELBLOCKALLOCATOR wait occurs.

When you examine the following information points, you will find that there is very low available virtual address space:

  • DBCC MEMORYSTATUS - Process/System Counts section - Available Virtual Memory

  • DMV: sys.dm_os_process_memory - column virtual_address_space_available_kb

These values start off around 8 terabytes (TB) on an x64 process and continue to climb down and reach a few gigabytes (GB).

When you are at the stage where the available virtual address space is very low, queries that try to perform memory allocation may also encounter a wait type of CMEMTHREAD.

The following data points will continue to increase over time:

  • DMV: sys.dm_os_process_memory and sys.dm_os_memory_nodes - column virtual_address_space_reserved_kb

  • DBCC MEMORYSTATUS - Memory Manager section - VM Reserved

These values will typically increase in multiples of the "max server memory" value up to almost 8 TB.

Note Related issue is also described in KB 3074434

Resolution

This update is included in the following cumulative updates for SQL Server:

      Cumulative Update 4 for SQL Server 2017

      Cumulative update 8 for SQL Server 2016 SP1  

      Cumulative Update 10 for SQL Server 2014 Service Pack 2

Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:

Latest cumulative update for SQL Server 2017

Latest cumulative update for SQL Server 2016

Latest cumulative update for SQL Server 2014

Note After you apply this update, you have to add the trace flag 8075 as a startup parameter to enable this change.

Status

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

References

Learn about the terminologythat Microsoft uses to describe software updates.

Har du brug for mere hjælp?

Udvid dine færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Deltag i Microsoft insiders

Var disse oplysninger nyttige?

Hvad påvirkede din oplevelse?

Tak for din feedback!

×