SLEEP_MEMORYPOOL_ALLOCATEPAGES

(Republishing, or using this info in a commercial product/website, is prohibited without permission. All other uses are permitted. If in doubt, please ask.)

(Back to main page…)

Description:

This wait type seems to be when a thread needs to allocate memory and there is none available. It waits for a small amount of time, assuming that something else in the system will create some free memory for it to allocate.

(Books Online description: N/A)

Questions/comments on this wait type? Click here to send Paul an email, especially if you have any information to add to this topic.

Added in SQL Server version:

2016

Removed in SQL Server version:

N/A

Extended Events wait_type value:

The map_key value in sys.dm_xe_map_values is 1096 in 2016 RTM. After 2016 RTM, you must check the DMV to get the latest value as some map_key values have changed in later builds.

Other information:

I have not seen this wait type be a noticeable contention point, but if they start to increase on your system, that’s a sign that the instance is under memory pressure, which may indicate other problems on the instance.

Known occurrences in SQL Server (list number matches call stack list):

  1. Waiting for memory to become available, in this case while allocating memory for the internals of a stream aggregate

And many other similar call stacks.

Abbreviated call stacks (list number matches known occurrences list):

  1. SOS_Task::PostWait+0x6f
    SOS_Task::Sleep+0x12f
    SOS_BackOff+0x169
    SOS_MemoryPool::AllocatePages+0x21b
    MemoryPoolManager::AllocatePages+0x193
    MemoryNode::AllocatePagesInternal+0x290
    MemoryClerkInternal::AllocatePagesWithFailureMode+0x176
    MemoryClerkInternal::AllocatePages+0x3d
    CIncPageMgr::PbAllocateWithNewPage+0x83
    CMemProc::Alloc+0x88
    operator new[]+0x4a
    CQScanSeqProjectNew::CQScanSeqProjectNew+0x270
    CXteSeqProject::QScanGet+0x94
    CQScanSortNew::CQScanSortNew+0xcc
    CQScanXSortNew::CQScanXSortNew+0x28
    CXteSort::QScanGet+0x244
    CQScanStreamAggregateNew::CQScanStreamAggregateNew+0xf5
    CXteStreamAggregate::QScanGet+0xf8
    CBpXte::PqsInitializeBatchProcessingTree+0x4e
    CQScanXProducerNew::CQScanXProducerNew+0x1a6
    FnProducerThread+0x669
    SubprocEntrypoint+0xd25