找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 30|回复: 0

核心内存泄漏检测工具(poolmon.exe)

[复制链接]

32万

主题

0

回帖

96万

积分

超级版主

积分
964681
发表于 2024-12-6 03:04:49 | 显示全部楼层 |阅读模式
poolmon.exe是一个非常强大的核心内存泄漏检测工具,无需安装运行即可使用,通常用于检测核心内存泄漏问题,需要的可以下载。
核心内存是什么
核心内存是windows分配给系统内核或驱动所需的内存空间,核心分页池内存或未分页池内存如果增长表明你的电脑存在核心内存泄漏,如果达到了windows所分配的最大值,最终导致的后果是windowds变慢或者瘫痪(如果是windows 2003服务器,web服务器无法打开,httperr日志出现大量的number_connections_refused错误),最后需要重启电脑解决问题。
使用方法
poolmon可以很好的来解决核心内存泄漏问题,下面我们就介绍一下如何使用poolmon来检测核心内存泄漏的方法。

如果你的系统是windows 2000或windows xp系统,要先编辑注册表使它支持启用池标记功能windows 2003/vista/win7不需要,因为默认情况下池标记处于启用状态。

1.运行注册表编辑器-(开始菜单--运行---输入regedit)。

2.在注册表中找到以下项:

hkey_local_machinesystemcurrentcontrolsetcontrolsession manager

3.记下 globalflag 的值,或保存session manager项。

4.双击 globalflag 值,在右窗格中。

5.将值更改为 0x00000400 十六进制。

注意当您将添加全局标志值 0x00000400 时,它只显示最多为它添加后 0x400。一定要添加前导零的所有或某些 poolmon 信息将不会显示在输出屏幕上。

6.重新启动计算机。

然后运行poolmon.exe,显示完按p键,再按b键,使bytes字段按大到小排序,这样可以清楚的看到bytes比较大的tag标记(比如:spdn)如截图所示

如果spdn一直处于增长状态,那么我们可以确定spdn存在核心内存泄漏,可以通过findstr命令来定位占用spdn的进程和驱动文件。

findstr /s /m /l "spdn" c:windowssystem32drivers*.sys

通过一个一个排查,最后找到核心内存泄漏检的元凶.


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|ziyuan80.com

GMT+8, 2025-8-11 23:56 , Processed in 0.067740 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表