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.
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