Large initial Non-Paged Pool Memory is reserved after operating system boot-up

Article ID: 2762246 - View products that this article applies to.
Expand all | Collapse all

Summary

This article describes a difference in the values for Non-Paged pool memory when viewing/monitoring it with perfmon/task manager against Rammap/debugger.

More information

It is important to understand that the values are correct in both. It is the interpretation and usage of terms that may confuse Users.

Since Windows Server 2008, the Windows operating system will reserve memory during system boot. 3% of the total memory is used for the initial Non-Pagable memory. This memory allocation cannot be verified from task manager or performance monitor counter. The tools like RAMMAP, Xperf or Memory dump file can be used to verify the information. Under RAMMAP, this area will be shown as Non-paged pool area.
Note that the Non-paged pool area seen under RAMMAP is not the same as the non-paged pool usage observed from task manager.

The Memory Manager keeps track of each page of memory in an array called the PFN database and, for performance, it maps the entire PFN database into virtual memory, this memory will always be resident on the RAM. The PFN database itself shows up as pool in the data that the memory manager returns to RAMMAP, so it’s not just purely non-poaged pool, but other non-pageable memory manager structures as well. 

This becomes the main reason that we see a significantly high number for Non-Paged memory in Rammap.

Task manager and perfmon shows the actually consumed non-paged pool memory. For troubleshooting virtual memory consumption, the perfmon tool should be used for correct information.

For examples

Under kernel dump file:

kd> x nt!mmsizeofnonpagedpoolinbytes
fffff800`01ac61c0 nt!MmSizeOfNonPagedPoolInBytes = 0x00000003`d6fe3000




kd> ?0x00000003`d6fe3000 Evaluate expression: 16491884544 = 00000003`d6fe3000
From above example, the value 16491884544 = 00000003`d6fe3000 represents that the machine has 512 Gigabytes memory and the initial non-paged pool size is 16 Gigabytes around. (3% * 512GB) 

Under Rammap vs. Task Manager

Collapse this imageExpand this image
rammap



Note: The use of tools mentioned in this article totally depends on what you need to know. If you want to know the state of the RAM in respect to the page states then RAMMAP is the best tool to use.
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

Properties

Article ID: 2762246 - Last Review: September 26, 2012 - Revision: 1.0
Applies to
  • Windows Server 2008 Foundation
  • Windows Server 2008 Standard
  • Windows Server 2008 Standard without Hyper-V
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Enterprise without Hyper-V
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Datacenter without Hyper-V
  • Windows Server 2008 for Itanium-Based Systems
  • Windows Server 2008 Service Pack 2
  • Windows Server 2008 R2 Foundation
  • Windows Server 2008 R2 Standard
  • Windows Server 2008 R2 Standard without Hyper-V
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Enterprise without Hyper-V
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 Datacenter without Hyper-V
  • Windows Server 2008 R2 for Itanium-Based Systems
  • Windows Server 2008 R2 Service Pack 1
Keywords: 
KB2762246

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com