Article ID: 142719
Article Last Modified on 2/21/2007
APPLIES TO
- Microsoft Windows 2000 Server
- Microsoft Windows 2000 Advanced Server
- Microsoft Windows 2000 Professional Edition
- Microsoft Windows 2000 Datacenter Server
- Microsoft Windows NT Workstation 3.5
- Microsoft Windows NT Workstation 3.51
- Microsoft Windows NT Workstation 4.0 Developer Edition
- Microsoft Windows NT Server 3.5
- Microsoft Windows NT Server 3.51
- Microsoft Windows NT Server 4.0 Standard Edition
This article was previously published under Q142719
SYMPTOMS
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.
CAUSE
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.
Additional query words: prodnt
Keywords: kbnetwork KB142719