NonpagedPool占用内存过多

原文链接:Nonpaged Pool(未分页池)占用内存过多分析定位_苗苗的小鲜肉呀的博客-CSDN博客

1、查看内存占用情况。
process explorer 查看父进程,监控进程资源使用量。
procmon 监控进程
RAMMap 监控进程内存使用

PoolMonX 查看内存占用pool的最高tag
2、在命令行中找到对应组件或应用。
c:
cd\
findstr /m /l /s <tag> *.sys    #<tag>替换为查找到的最高tag。

问题定位用到三个小工具:RAMMap、Poolmon、Strings.exe
背景:接到项目反馈,应用服务器内存占用达到80%以上,w3wp占400M,剩余的11G内存跑哪里去了呢,任务管理器看不到,但是可以看到Nonpaged Pool(未分页池)占用内存很多。非产品问题本应该由客户管理员去解决,但问题原因与之前微软case案例相似,邮件中又提到具体的诊断工具与步骤,为何不先看一番究竟,正好熟练熟练工具的使用跟排查思路(之前在自己机器上验证过)


管理员打开RAMMap,确认Nonpaged Pool占用内存非常的高,达到11G多,而这部分内存一般是给系统中的driver使用的。
找到部署Poolmon.exe的文件夹,shift+右键,在此处打开命令窗口,输入Poolmon.exe –p –d
会弹出Poolmon的诊断界面,此时应该按占用内存从大到小排好序了。这就是poolmon收集到的各种driver内存的使用情况。发现LSbf drivers占用内存非常的高,大约11G。

定位到drivers之后,怎么判断这是谁的驱动呢?可以使用string(sysinternal 工具)查找%SystemRoot%\System32\drivers文件中定位。
具体方法:将strings.exe放入C:\Windows\System32\drivers文件夹里,shift+右键,在此处打开命令窗口,输入strings * | findstr LSbf,即可定位到是谁的drivers了!

案例里边是系统的srvnet.sys,搜索一下,应用服务器疑似中毒,项目上杀毒之后,问题解决。
参考链接:https://www.red-gate.com/simple-talk/sysadmin/general/troubleshooting-nonpaged-and-paged-pool-errors-in-windows/
附工具下载地址:
strings.exe https://docs.microsoft.com/zh-cn/sysinternals/downloads/strings
RAMMap https://docs.microsoft.com/zh-cn/sysinternals/downloads/rammap
Poolmon https://download.csdn.net/download/weixin_40188600/10688357
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值