你目前正处于脱机状态,正在等待 Internet 重新连接

你的浏览器不受支持

你需要更新你的浏览器才能使用该网站。

更新到 Internet Explorer 的最新版本

如何使用内存池监视器 (Poolmon.exe) 来解决内核模式内存泄漏

Support for Windows XP has ended

Microsoft ended support for Windows XP on April 8, 2014. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

Support for Windows Server 2003 ended on July 14, 2015

Microsoft ended support for Windows Server 2003 on July 14, 2015. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 177415
简介
本文介绍如何使用内存池监视实用程序,Poolmon.exe,用作故障诊断工具来监视内存标签。

Poolmon 可显示操作系统将收集有关内存分配从系统分页和未分页的内核池和内存池用于终端服务会话有关的数据。数据分组按池分配标签。此信息可以通过 Microsoft 技术支持,用于查找内核模式内存泄漏。

由应用程序或进程,用于分配内存,但,不会释放内存的应用程序或进程完成时导致内存泄漏。因此,随着时间的推移完全使用可用内存。通常情况下,这种情况导致系统停止正常工作。

在这种情况下,系统日志中可能会记录以下事件:

事件 ID: 2020
来源: Srv
描述: 服务器不能从系统页面缓冲池分配,因为共享区当前是空。

事件 ID: 2019
来源: Srv
描述: 服务器不能分配未分页的系统从池因为共享区当前是空。

更多信息
第一节介绍如何启用使用 Poolmon 标记模式。第二部分介绍如何收集使用 Poolmon 进行疑难解答的信息。

启用标记模式

运行 PoolMon 之前, 必须启用池标记,然后重新启动计算机。标记功能池收集,并计算有关内存分配的标记值排序的池内存统计信息。

注意:不需要启用池标记 Windows Server 2003 中为默认处于启用状态。

若要启用池上基于 Windows NT 4.0 的标记,基于 Windows 2000 或 Windows XP 的计算机上,使用下列方法之一:

方法 1: 编辑注册表

若要更改允许标记模式的 Poolmon.exe 注册表值,请按照下列步骤。

重要:此部分、 方法或任务包含一些介绍如何修改注册表的步骤。但是,如果不正确地修改了注册表,可能会出现严重的问题。因此,请确保仔细按照下列步骤操作。为增加保护,对其进行修改之前备份注册表。然后,您可以在出现问题时还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756 如何在 Windows 中备份和还原注册表
  1. 运行注册表编辑器。
  2. 在注册表中找到下面的项:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager
  3. 记下的值GlobalFlag,或保存
    Session Manager
    键。
  4. 双击合适窗格中的GlobalFlag值。
  5. 将该值更改为 0x00000400十六进制。

    注意:当您添加全局标志值 0x00000400 时,它只显示后它将被添加在 0x400 的 upas。一定要添加 leadingzeros 的所有或某些 Poolmon 信息将不会显示在 outputscreen 上。
  6. 重新启动计算机。
注意:当您是完成调试,更改回原始值,您的 GlobalFlag 值指示在步骤 3 中记下。

方法 2: 使用 Gflags.exe 实用程序

此外可以使用全局标记编辑器 (Gflags.exe) 实用程序以启用池标记。Gflags.exe 是 Windows NT 4.0 资源工具包中和在 Windows 2000、 Windows XP 和 Windows 服务器 2003 Cd-rom 的 \Support\Tools 文件夹中可用。

注意:由于 Windows Server 2003 中,永久启用池标记,全局标记对话框中的启用池标记复选框将变灰,命令来启用或禁用池标记失败。

通过使用 Gflags.exe 进行更改,请执行以下步骤:
  1. 单击开始,单击运行,类型 gflags.exe然后单击确定
  2. 选择启用池标记
  3. 单击应用,然后单击确定
  4. 重新启动计算机。
注意:当您是完成调试,重复上述步骤以禁用池标记。

使用 Poolmon 收集信息

Poolmon 可显示在命令窗口中的池标记信息。使用箭头键或页面向上和向下翻页键显示工具返回的所有标记信息。

Poolmon.exe 是 Windows NT 4.0 资源工具包中和在 Windows 2000、 Windows XP 和 Windows 服务器 2003 Cd-rom 的 \Support\Tools 文件夹中可用。

使用以下步骤来复制和存储标记信息。每隔 15 分钟,两个小时重复这些步骤。将每个更新附加到记事本文件的末尾。
  1. 单击开始,指向设置,单击控制面板,然后双击控制台

    注意: 对于 Windows 2000 中,您必须执行以下步骤:
    1. 单击开始,单击运行,类型 cmd然后单击确定
    2. 用鼠标右键单击标题栏,然后单击属性
  2. 单击选项,单击快速编辑模式,然后单击InsertMode
  3. 单击布局选项卡,将屏幕缓冲区大小值更改为 99然后单击确定
  4. 单击开始,指向程序,再单击CommandPrompt
  5. 在 theSupport\Debug\ 中找到 Poolmon.exe平台 在 Windows NT 4.0 CD 上的文件夹。更改到的驱动器和文件夹 Poolmon.exe 所在的位置。在 windows 2000 CD Poolmon.exe 是器文件中。器是位于的 underthe \Support\Tools 文件夹。
  6. 键入 Poolmon.exe.
  7. 按 P 直到 poolmon 可显示的第二列"键入"andshows 值 分页.
  8. 按 B 最大 tosmallest 中的列进行排序。
  9. 选中整个屏幕的内容,然后单击 pressENTER。
  10. 单击开始,指向程序,指向附件,然后单击记事本
  11. 编辑菜单上,单击粘贴
  12. 重复第 7 步以查找值 未分页.
  13. 重复步骤 8-11 进行粘贴。
Poolmon.exe 也有几个命令键的排序您的输出。按字母下面指示要执行的操作。需要为每个命令要几秒钟。下面是几个命令列表:
P-排序标签列表分页,依据非分页的或混合。请注意 P 循环通过每个。
B-按最大字节使用标记。
M-按最大字节分配标记。
T-按标记名称按字母顺序排序标记。
E-显示分页,在底部的非页面缓冲总。循环切换。
A-对标签排序分配大小。
F-按标记"释放"。
S-按标记分配的差异,并释放。
E-显示分页,在底部的非页面缓冲总。循环切换。
Q-退出。
有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
298102 如何查找被第三方驱动程序所使用的池标记
debugref 分配释放 krnl 页面缓冲的 nonp 非分页的非分页缓冲页用 gflags gflags.exe 池字节监视器

Warning: This article has been translated automatically

属性

文章 ID:177415 - 上次审阅时间:01/10/2016 04:43:00 - 修订版本: 14.0

  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Web Edition
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Workstation 4.0 开发员版
  • Microsoft Windows Small Business Server 2003 Premium Edition
  • Microsoft Windows Small Business Server 2003 Standard Edition
  • kbhowto kbmt KB177415 KbMtzh
反馈
""; document.write("