Q & A: I am running on 64 bit and all of my tasks are waiting on SOS_RESERVEDMEMBLOCKLIST, What is going on?

This wait type represents waiting on multi page allocations inside of SQLOS's memory manager. As you remember from my description of memory manager's working internals, it has two major allocators single page allocator, SPA and multi page allocator, MPA. Majority of the time SQL Server internal code uses SPA, however in some cases it will use MPA, i.e. for example when request exceeds size of single page, 8KB.

On 64 bit systems SQL Server internal code can potentially generate larger memory requests which might exceed single page size - this is due to the fact that size of internal data structures on 64 bit is larger than on 32 bit platforms. A larger amount of concurrent MPA allocations could translate into more allocations served by MPA rather than by SPA. More concurrent allocations might possibly introduce more pressure on MPA and that could translate into SOS_RESERVEDMEMBLOCKLIST waits.

In SQL Server 2005 SP2 we have addressed this problem by making MPA significantly more concurrent.

If you see such issue and can't wait until SP2 is out, please contact MS Product support to get a fix.

Let me know if you have any questions.