The Performance tool does not accurately show the available Free System Page Table entries in Windows Server 2003 (894067)



The information in this article applies to:

  • Microsoft Windows Server 2003, Enterprise Edition
  • Microsoft Windows Server 2003, Standard Edition

SYMPTOMS

In Microsoft Windows Server 2003, the Performance tool (Perfmon) does not accurately show the available Free System Page Table entries (FreeSysPTEs).

Because of memory manager changes, the method of calculating FreeSysPTEs in Windows Server 2003 is not accurate. Perfmon will always show a much lower number than the value of 10+ kilobytes (K) that is typical. For computers that are running Windows Server 2003 without Service Pack 1 (SP1), the correct value for FreeSysPTEs can be obtain by using the !vm 1 command and checking the value that is displayed for "Free System PTEs" in kernel debugger or in the LiveKd tool from Sysinternals.

RESOLUTION

Service pack information

To resolve this problem, obtain the latest service pack for Windows Server 2003. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

889100 How to obtain the latest service pack for Windows Server 2003

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section. This bug was corrected in Windows Server 2003 Service Pack 1.

MORE INFORMATION

To add the counter for FreeSys PTEs to the Performance tool, follow these steps:
  1. Click Start, click Run, type perfmon.msc in the Open box, and then click OK.
  2. On the toolbar, click Add.
  3. In the Add Counters dialog box, select Memory in the Performance object combo box, select Free System Page Table Entries in the Select counters from list, and then click Add.
This counter is used to monitor the available FreeSys PTEs on the computer.

Following is a sample !vm output. The sample was obtained from a computer that was running Windows Server 2003 without SP1. The sample was obtained by using LiveKd.

0: kd> !vm 1
*** Virtual Memory Usage ***
Physical Memory: 511884 ( 2047536 Kb)
Page File: \??\C:\pagefile.sys
Current: 2095104Kb Free Space: 2069916Kb
Minimum: 2095104Kb Maximum: 4190208Kb
Available Pages: 330298 ( 1321192 Kb)
ResAvail Pages: 423600 ( 1694400 Kb)
Locked IO Pages: 140 ( 560 Kb)
Free System PTEs: 205080 ( 820320 Kb) <<--------- Here is the correct number that Perfmon should report.
Free NP PTEs: 32765 ( 131060 Kb)
Free Special NP: 0 ( 0 Kb)
Modified Pages: 118 ( 472 Kb)
Modified PF Pages: 118 ( 472 Kb)
NonPagedPool Usage: 4691 ( 18764 Kb)
NonPagedPool Max: 65536 ( 262144 Kb)
PagedPool 0 Usage: 10135 ( 40540 Kb)
PagedPool 1 Usage: 787 ( 3148 Kb)
PagedPool 2 Usage: 757 ( 3028 Kb)
PagedPool 3 Usage: 778 ( 3112 Kb)
PagedPool 4 Usage: 760 ( 3040 Kb)
PagedPool Usage: 13217 ( 52868 Kb)
PagedPool Maximum: 68608 ( 274432 Kb)
Shared Commit: 16508 ( 66032 Kb)
Special Pool: 0 ( 0 Kb)
Shared Process: 13486 ( 53944 Kb)
PagedPool Commit: 13230 ( 52920 Kb)
Driver Commit: 1651 ( 6604 Kb)
Committed pages: 177988 ( 711952 Kb)
Commit limit: 998454 ( 3993816 Kb)

0: kd> !sysptes 
System PTE Information
Total System Ptes 226271
SysPtes list of size 1 has 171 free
SysPtes list of size 2 has 53 free
SysPtes list of size 4 has 125 free
SysPtes list of size 8 has 29 free
SysPtes list of size 16 has 29 free

starting PTE: c03c7000
ending PTE: c03def78

free blocks: 14 total free: 3352 <<------- Here is the incorrect, lower number that Perfmon reported.

 largest free block: 1219

The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, regarding the performance or reliability of these products.

Modification Type:MinorLast Reviewed:6/5/2006
Keywords:kbHotfixServer kbQFE kbprb KB894067 kbAudITPRO