Server is unable to allocate memory from the system paged pool (312362)



The information in this article applies to:

  • Microsoft Windows Server 2003, Standard Edition
  • Microsoft Windows Server 2003, Enterprise Edition
  • Microsoft Windows 2000 Server SP2
  • Microsoft Windows 2000 Server SP3
  • Microsoft Windows 2000 Server SP4
  • Microsoft Windows 2000 Advanced Server SP2
  • Microsoft Windows 2000 Advanced Server SP3
  • Microsoft Windows 2000 Advanced Server SP4
  • Microsoft Windows 2000 Professional SP3

This article was previously published under Q312362
Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows registry

SYMPTOMS

When your server is under a heavy load, the Server service may repeatedly log the following error (in the System Event log) that indicates that the server is out of paged pool memory:
Source - SRV
Type - Error
Event ID - 2020
Description -

The server was unable to allocate from the system paged pool because the pool was empty.
Data -
0000: 00040000 00540001 00000000 c00007e4
0010: 00000000 c000009a 00000000 00000000
0020: 00000000 00000000 0000000b

CAUSE

Several factors may deplete the supply of paged pool memory. Enabling pool tagging and taking poolsnaps at different time intervals may help you to understand which driver is consuming paged pool memory. If the poolsnaps indicate that the MmSt tag (Mm section object prototype PTEs) is the largest consumer and paged pool memory has been depleted or the system is logging error event 2020s, there is a large probability that there are a very large number of files that are open on the server. By default, the Memory Manager tries to trim allocated paged pool memory when the system reaches 80 percent of the total paged pool. Depending on the system configuration, a possible maximum paged pool memory on a computer can be 343MB and 80 percent of this number is 274MB. If the Memory Manager is unable to trim fast enough to keep up with the demand, the event that is listed in the "Symptoms" section of this article may occur. By tuning the Memory Manager to start the trimming process earlier (for example, when it reaches 60 percent), it would be possible to keep up with the paged pool demand during sudden peak usage, and avoid running out of paged pool memory.

RESOLUTION

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.
The following tuning recommendation has been helpful in alleviating the problem:
  1. Start Registry Editor (Regedt32.exe).
  2. Locate and then click the following key in the registry:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Memory Management

  3. On the Edit menu, click Add Value, and then add the following registry value:

    Value name: PoolUsageMaximum
    Data type: REG_DWORD
    Radix: Decimal
    Value data: 60

    Setting the value at 60 informs the Memory Manager to start the trimming process at 60 percent of PagedPoolMax rather than the default setting of 80 percent. If a threshold of 60 percent is not enough to handle spikes in activity, reduce this setting to 50 percent or 40 percent.

    Value name: PagedPoolSize
    Data type: REG_DWORD
    Radix: Hex
    Value data: 0xFFFFFFFF

    Setting PagedPoolSize to 0xFFFFFFFF allocates the maximum paged pool in lieu of other resources to the computer.
  4. Quit Registry Editor.
  5. Restart the server for the changes to take effect.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

Modification Type:MajorLast Reviewed:7/19/2005
Keywords:kbenv kberrmsg kbprb KB312362