首页 > 其他 > 详细

Nonpaged Pool(未分页池)占用内存过多分析定位

时间:2020-11-29 12:44:00      阅读:139      评论:0      收藏:0      [点我收藏+]

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

 

 

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

       

       

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

       

       

    4. 案例里边是系统的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

Nonpaged Pool(未分页池)占用内存过多分析定位

原文:https://www.cnblogs.com/Areas/p/14055872.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!