Windows Reports Out of Resources Error When Memory Is Available


Windows or a Windows service reports an error in the event log stating that the system is out of resources; however, according to Performance Monitor and Windows Diagnostics, there is plenty of RAM available. For example, if a large number of connections are made to SQL Server, SQL Server reports an error 1450 - Insufficient System Resources, even though this system has plenty of RAM available.


The Windows kernel is running out of paged-pool memory. When Windows starts, it calculates the amount of paged-pool memory available to the kernel based on the amount of physical RAM in the system. The following lists describes the maximum values in Windows:

  • In Windows NT, the maximum value for paged-pool memory is 192 MB.
  • In Windows 2000, the maximum value for paged-pool memory is 470 MB; the maximum value for non-paged-pool memory is 256 MB.
If the kernel allocates all of its allotted paged- pool memory, it will not be able to perform many tasks and will instead return a STATUS_INSUFFICIENT_RESOURCES (0xC000009A) message.

More Information

This behavior is by design. Windows currently uses 32-bit addressing for memory. This only allows for 4 GB of addressable RAM, which must be divided into various sections of virtual memory. The kernel only has 2 GB to divide up and, in this distribution of addresses, paged-pool memory is allocated a maximum of 192 MB. This is a restriction of the 32-bit addressing.

Article ID: 142719 - Last Review: Feb 20, 2007 - Revision: 1