自从我升级到 Windows 10 以来,我的系统一直在过度消耗 RAM
我一直在阅读并确定它可能是驱动程序泄漏内存。所以我得到了自己的 Windows 驱动程序工具包并使用 poolmon 跟踪内存使用情况:
但是,我真的不知道如何从这里开始。标记为“smNp”的项目是否是此问题的罪魁祸首?我如何从那里到实际识别驱动程序?
我尝试了一些东西,如“C:\ WINDOWS \ System32 \ drivers下> FINDSTR / s的SMNP 。 ”但它返回任何结果。我还查看了 pooltag.txt 文件,这是我找到的描述:
所以是的,任何帮助将不胜感激。提前致谢。
我在许多不同的 Windows 机器上,在许多不同的场合注意到这一点:任务管理器或资源监视器报告的 RAM 使用量似乎通常加起来显着低于实际使用量。
例如,很多次在我的笔记本电脑或台式机上,我看到使用了 7GB 之类的东西,但工作 RAM 集的总数更像是 3GB。我就是不知道它在哪里被使用!
这是我今天在服务器上的资源监视器中注意到的一个极端示例:
如果您右键单击图像并在新选项卡中打开并查看数字,您会注意到工作集(不包括非物理虚拟内存)加起来大约为 1.7GB。当启用“显示所有用户的进程”时,通过在任务管理器中添加 RAM 使用量,我得到了类似的数字。
现在这是任务管理器的性能选项卡的屏幕截图:
这表示 7.6GB 的物理内存正在使用中。
我一直在个人计算机、笔记本电脑和现在的服务器上看到这一点:系统工具报告的总 RAM 使用量仅占我观察到的 RAM 使用量的 1/4 左右。跆拳道要开始了???
对我所有的 RAM 在哪里有任何令人满意的解释吗?是什么吞噬了它,为什么它不留痕迹?
编辑:这是用户 whs 要求的图形 RAM 使用的图片:
编辑 2:为了回应 James 的回应,这里是 中非分页进程的图片poolmon.exe,按大小排序:

这些结果让我很困惑。poolmon正确说明我有 6GB 的非分页池正在使用,但所有非分页池进程的大小都小于 8MB。
这意味着什么?是否poolmon未能检测到使用非分页池的某些进程?
当我在 Windows 8 中访问“运行”对话框并键入时cmd,它会打开一个命令提示符,但它没有管理权限。
寻找cmd默认的开始屏幕确实显示了命令提示符快捷方式,但它也不是管理员。
有没有办法打开管理员命令提示符,或者不再可能?
每隔几天的正常运行时间,我的 PC 的内存使用量就会在没有任何明显原因的情况下增加。以下是正常运行 4 天后的典型内存使用情况读数:
但是,我已尝试跟踪导致任何潜在内存泄漏的违规应用程序。任务管理器列出了 Google Chrome 中最高的应用程序使用率(仅约 200MB 使用率):
关闭其他应用程序仍然会留下 62% 的神秘应用:
同时,在分页和非分页池中分别使用大量内存列出poolmon.exe节目CM16和Proc标签:
奇怪的是,重新启动 PC 会清除内存使用量,但关闭和启动不会。我认为这是由于“快速启动”功能造成的,但我不确定为什么会影响内存使用。
如果重要的话,我也在使用CleanMem,因为我认为它有助于缓解任何内存泄漏问题。
鉴于这些,我怎么能查明是什么导致了我的系统中的高内存使用率?
更新:我尝试运行 xperf 来查看池标签上的堆栈跟踪,如评论中所建议的那样,但我不确定如何处理我发现的内容:
我今天打开我的任务管理器,发现在我的 16GB 内存中,有 14.5GB 正在“使用”。
自然地,我切换到“进程”选项卡,单击“显示所有用户的进程”,然后按工作集排序 - 只是发现任务管理器中列出的所有进程一起只使用了大约 3GB 的 RAM。我也试过Process Explorer,它没有给我任何新信息。
是什么消耗了将近 11GB 的内存?
我找到了一个工具 - RAMMap - 它告诉我“分页池”正在使用11GB的 RAM。这是做什么用的?我怎样才能找出导致它飙升如此之高并保持高位的原因?
我在 Macbook Pro '15 上的 Bootcamp 中使用 Windows 10 Pro 版本 1703 build 15063.296。这个设置已经运行良好两年了,直到最后一次 Windows 10 重大更新。现在我经常出现内存不足的错误。这款笔记本电脑拥有 16GB RAM,但永远不会接近满。但提交的内存已达到最大值。当我在资源监视器中查看哪个程序正在使用大量已提交内存时,一切都非常低,通常小于 500MB。Windows 会说 Firefox 或 Chrome 使用了太多内存,但我在任务管理器、资源监视器或进程资源管理器中找不到任何证据。
如何找到实际耗尽所有已提交内存并导致计算机崩溃的原因?
以下是进程列表的一些屏幕截图,而提交费用非常高。我必须关闭 Chrome 和 Slack,才能释放足够的内存来截屏。 资源监控进程列表
我有 2 台装有 Windows 10 的电脑:
个人电脑:
笔记本:
问题是计算机运行的时间越长,使用的 RAM 就越多。他们使用的 RAM 越多,表现就越迟缓,尤其是在游戏中(有些游戏甚至因为每隔几秒的“微滞后”而无法玩,所以我需要重新启动计算机以清除 RAM),甚至视频开始与一段时间后的音频。
此外,在四月更新之后,系统进程开始消耗大量 CPU,可能是因为 RAM 使用量增加,正如 xperf 程序可能所说的那样。当计算机运行时间较长时,CPU 使用率可能会更高,但并不像 RAM 情况那么简单。
我尝试使用 poolmon 并发现池标签“Proc”和“Toke”正在增加其内存使用量。但我无法找到哪个驱动程序或其他软件使用这些标签并泄漏内存。
两台电脑的问题可能是在我一月份购买电脑时开始的。
以下是大约 5 小时后的一些屏幕截图:
我有一台全新的膝上型计算机,并且在处理占用大量 CPU、磁盘和内存资源的过程中遇到了一些问题。经过大量修补后,我解决了所有问题,除了空闲时有 40% 的内存使用率。我仍然认为在空闲时使用如此高的内存是一个危险信号,但后来我想起这不是我的台式电脑,我对这台笔记本电脑的规格非常适中。
也许 4GB 的 RAM 几乎不足以维持核心进程的运行?任何有这方面经验的人都可以告诉我他们的想法吗?我想知道什么是良好的性能基准,以便我知道何时应该停止对泄漏/其他问题进行故障排除。
所以我最近注意到内存使用率极高。仅打开 Chrome 并打开 20 个选项卡时,我就使用了 13.5 / 16GB 内存。任务管理器报告 Chrome 仅使用约 3GB 内存。任务管理器中报告的所有剩余进程总共占用了不到 1GB 的额外内存,因为大多数进程使用的内存在 10MB 到 50MB 之间。
我使用 RamMap 来获取更多详细信息,我发现非分页池非常高,达到 5.7GB。这是RamMap的图像。
我使用poolmon并发现有两件事正在耗尽大量的非分页池。这是poolmon 的图像。
根据 Google 标签搜索和此处的列表,这就是这 2 个标签的用途:
但现在我已经走进了死胡同。我见过其他类似的问题,但没有一个涉及这些标签。其他人的问题通常来自于驱动程序,他们只需更新它即可。但在这种情况下,我不知道如何解决这个问题。
我在C:\Windows\System32\drivers中找到了文件fltMgr.sys,但它似乎是 Microsoft 的东西。在“属性”->“详细信息”下,其名称为“Microsoft Windows 操作系统”,其文件描述为“Microsoft 文件系统筛选管理器”。即这不仅仅是我可以更新的驱动程序。
至于Irp标签,我不知道。
有什么建议么?我可以从哪里获取它以及我能做什么?
编辑 03/03/18:我没有 Killer NIC。
我已经使用 xperf 进行录制,到目前为止我已经完成了。不太确定从这里去哪里,或者我可以上传 .etl 文件,尽管它很大,所以不确定在哪里。让我知道上传是否有帮助。
重新启动后可能需要 …
memory ×8
windows-10 ×5
memory-leaks ×3
windows ×3
performance ×2
command-line ×1
cpu ×1
drivers ×1
task-manager ×1
windows-8 ×1