Article ID: 894067 - View products that this article applies to.
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.
Service pack informationTo 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:
(http://support.microsoft.com/kb/889100/ )How to obtain the latest service pack for Windows Server 2003
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.
To add the counter for FreeSys PTEs to the Performance tool, follow these steps:
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.
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.
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