找回密码
 立即注册
首页 业界区 安全 排查Windows 下的内存使用率过高,但是任务管理器看不到 ...

排查Windows 下的内存使用率过高,但是任务管理器看不到进程

赏听然 4 小时前
出现的问题

最近我们的Book在内部使用的时候,很多人反馈都没打开什么应用,但是任务管理器上却显示内存接近80%-90%,如下图所示。
1.png

 
排查步骤

1、通过任务管理器排查

在Win11任务管理器上,其实包含了压缩的内存管理,系统会动态管理内存使用的。
2.png

 资源监视器排查内存选项,观察是哪一个进程占用较高
3.png

 

  • 提交:操作系统为进程保留的虚拟内存,是程序独占的内存(包含物理内存和在页面文件中的内存)(单位:KB)
  • 工作集:进程当前正在使用的物理内存量(单位:KB)
  • 可共享:进程所使用的可与其它进程共享的物理内存量(单位:KB)
  • 专用:由该进程所使用而其它进程无法使用的物理内存量(单位:KB)
    工作集=可共享+专用
从进程内存详细输出结果来看,所有进程内存使用率总和并不会达到那么高的水位线。所以从单纯使用该工具无法进行下一步分析。
 
2、通过RAMMap分析

RAMMap工具较任务管理器可以看到更详细的内存信息。首先下载该工具,工具下载地址:https://docs.microsoft.com/en-us/sysinternals/downloads/rammap
下载完成之后,直接启动执行文件,可以看到如下内存分析结果:
 
4.png

 其中,Nonpaged Pool(未分页池)占用内存过多,约5G左右。具体这块内存是哪部分使用掉的呢?该工具是无法核查到的,所以需要其他工具进一步核查。
3、通过Poolmon分析

继续上面的排查,想要知道Nonpaged Pool(未分页池)具体是哪个程序占用的,需要借助Poolmon工具分析。
现在百度直接搜索 Poolmon.exe 直接下载,避免需要安装Wdk的工具集:Poolmon官方版下载-Poolmon(核心内存泄漏检测工具)下载 v5.2.3790 - 多多软件站


安装启动PoolMon工具

默认列出了nonpage以及page相关信息。按大写字母“P”,可以只列出nonpage相关信息,然后再按大写字母“B”,按照内存大小倒序排序。
5.png

从排序结果可以看到,主要是Tag为:Mloc 占用内存较大。
打开cmd窗口,进入c:/windows/system32/drivers,然后输入命令:
findstr /m /l Mloc *.sys
命令执行结果为:
eamonm.sys edevmon.sys ehdrv.sys epfw.sys epfwwfp.sys
定位到具体的驱动文件之后,进一步核查驱动信息,定位到具体是哪个程序
6.png

 从以上五个截图可以详细看到,这几个驱动文件对应的程序为:ESET Security软件。
核查服务器上运行的程序,确认确实有启动该程序。
最终判断,是由于该程序导致nonpaged pool占用内存较大,从而导致服务器整体内存使用率较高。
 
参考文档:win内存使用率过高但是资源监视器查看不到进程,排查思路 - 技术文章 - 云掣
 

来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除

相关推荐

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