Microsoft KB Archive/312846

= Pool Tagging Is Enabled By Default =

Q312846

-

The information in this article applies to:


 * Microsoft Windows XP Professional
 * Microsoft Windows XP Home Edition
 * Microsoft Windows 2000 Server
 * Microsoft Windows 2000 Professional

-

SUMMARY
In all versions of Microsoft Windows NT and some versions of Windows XP and Windows 2000, it was sometimes necessary to enable pool tagging. You could enable pool tagging by clicking to select the appropriate check boxes in the Gflags.exe utility that is included with the Microsoft Debuggers that you can obtain from the following Microsoft Web site:

"http://www.microsoft.com/ddk/debugging/default.asp" However, in Windows XP Service Pack 1 (SP1) and Windows 2000 Service Pack 3 (SP3), it is no longer necessary to enable pool tagging because pool tagging is enabled by default. Versions of the Gflags.exe utility that are included with operating systems that have enabled pool tagging by default have a grayed-out check mark in the Pool Tagging check box.

MORE INFORMATION
With operating systems that have pool tagging enabled by default, you can troubleshoot Kernel-mode memory leaks a bit easier by running either the Poolmon.exe or Poolsnap.exe utilities. For additional information about how to use the Poolmon.exe or Poolsnap.exe tools, click the article number below to view the article in the Microsoft Knowledge Base:

"Q177415 How to Use Poolmon to Troubleshoot Kernel Mode Memory Leaks" You can also create a dump file of the system during a low-memory condition. You can manually dump the system by using the CTRL+SCRLK key combination that is described in the following Microsoft Knowledge base article: "Q244139 Windows Feature Allows a Memory.dmp File to Be Generated with Keyboard" If you decide to dump the system, make sure that you do so only after it has had a chance to substantially leak.

Once the system has successfully produced a Memory.dmp file, you can load the dump in the kernel debugger, and (providing you have matching symbols) you can now run the !poolused 3 command for non-paged leaks. The output appears in the following format: kd> !poolused 3

Sorting by NonPaged Pool Consumed Pool Used: NonPaged Tag      Allocs  Frees     Diff         Used XTag        132      0      132     99483648 INOF         34      0       34      2983168 MmCm         22      8       14       380928 Devi        277     80      197       280640 File      10902   9685     1217       197920 Ntf0          3      0        3       196608 In the preceding example, the leaky tag is XTag. However, you should note that the leaky tag is not always at the top of the list, and it is important to look at the Used column and the Diff column to begin to identify the leaky tag.

If you think that you have identified the tag that is leaking, you can use the Pooltag.txt file to see if this tag is a Microsoft-provided tag. The Pooltag.txt file is provided with Microsoft debuggers, and it is installed in the Triage folder. If you do not find the tag in that file, you may want to investigate your third-party drivers to determine if they are causing the leaky behavior. Additional query words:

Keywords : kbenv kbtool

Issue type : kbinfo

Technology : kbwin2000Serv kbwin2000ServSearch kbwin2000Search kbwin2000ProSearch kbwin2000Pro kbWinXPHome kbWinXPPro kbWinXPProSearch kbWinXPHomeSearch kbWinXPSearch

-

[mailto:MSDN@MICROSOFT.COM Send feedback to Microsoft]

© 2002 Microsoft Corporation. All rights reserved.