Windows 10 内存使用率过高(原因不明)

Windows 10 内存使用率过高(原因不明)

几天前,我将 PC 更新为 Windows 10。但是,使用一段时间后,我的 PC 开始变慢,直到无法使用 - 这是由于内存使用率过高造成的。重启后,一切恢复正常(总使用率约为 8GB RAM 的 25%)。但是,在使用几个小时后,内存再次增加到 70%,如果不重启,内存会进一步增加到 100%,之后甚至会冻结。任务管理器没有太大帮助,因为它没有显示所有进程(下面添加了屏幕截图)。还尝试了 RAMMap,但它给出了一个错误:“刷新数据库错误”。我尝试用谷歌搜索这个问题,但没有多大收获。

我不太了解个人电脑,但也许你们中的一些人知道这个问题,或者可以帮助找出是什么在使用我的 RAM。

内存使用情况 1

内存使用情况 2

答案1

驱动程序导致内存泄漏。查看非分页内核内存的高值。在您的例子中,该值超过 3.7 GB。您可以使用池妖查看哪个驱动程序导致高使用率。

安装Windows WDK,运行poolmon,按照池类型对其进行排序,P以便非分页位于顶部,按照B字节数对其进行排序以查看使用最多内存的标签。转到安装WDK的文件夹运行poolmon,转到工具(或C:\Program Files (x86)\Windows Kits\10\Tools\x64)并单击poolmon.exe

现在查看哪个pooltag使用了最多的内存,如下所示:

在此处输入图片描述

现在打开 cmd 提示符并运行 findstr 命令。为此,打开 cmd 提示符并键入cd C:\Windows\System32\drivers。然后键入findstr /s __ *.*,其中 __ 是标签(poolmon 中最左边的名称)。执行此操作以查看哪个驱动程序使用此标签:

在此处输入图片描述

现在,转到驱动程序文件夹 ( C:\Windows\System32\drivers) 并右键单击相关驱动程序(上图示例中的 intmsd.sys)。单击属性,转到详细信息选项卡以查找产品名称。查找该产品的更新。

如果pooltag仅显示Windows驱动程序或在pooltag.txt中列出("C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\triage\pooltag.txt"

你有用xperf 来追踪导致使用的原因. 安装Windows SDK 中的 WPT,打开以管理员身份运行 cmd.exe然后运行:

xperf -on PROC_THREAD+LOADER+POOL -stackwalk PoolAlloc+PoolFree+PoolAllocSession+PoolFreeSession -BufferSize 2048 -MaxFile 1024 -FileMode Circular && timeout -1 && xperf -d C:\pool.etl

捕获 30-60 秒的增长。使用 WPA.exe 打开 ETL,将池图添加到分析窗格。

将pooltag列放在第一位,并添加stack列。现在加载符号进入 WPA.exe 并展开您在 poolmon 中看到的标签堆栈。

在此处输入图片描述

现在找到您可以在堆栈中看到的其他第三方驱动程序。这里的Thre标签(线程)由 G-Data 的 AVKCl.exe 使用。查找驱动程序/程序更新以修复它。


用户赫里斯托·赫里斯托夫FMfn提供了在解压文件期间使用率较高的跟踪:

在此处输入图片描述

该标签由驱动程序使用WiseFs64.sys,它是“Wise Folder Hider”程序的一部分。删除它可以修复泄漏。


用户萨穆伊尔·迪切夫FMic提供了高使用率Irp的跟踪

在此处输入图片描述

在此处输入图片描述

标签由程序使用剃刀皮质

在用户样本中chr0n0ssFMic使用Irp是由 F-Secure Antivirus Suite 引起的:

在此处输入图片描述

删除它并使用 Windows Defender 即可解决这个问题。


答案2

这家伙可能有一个 Killer Networking(以前的 Bigfoot networking)品牌网卡。

我疯狂地试图找出为什么会出现严重的内存泄漏,甚至在完全全新安装后,安装后我立即出现了内存泄漏。当然,我安装了网络驱动程序和视频卡驱动程序,但仅此而已。

我在谷歌上搜索...发现这个帖子说这是他的网络驱动程序,然后在谷歌上搜索“杀手内存泄漏”,看到了相关的结果,发现它是杀手级应用程序本身,而不仅仅是在 Windows 10 中。

现在我成功了……所以如果其他人也遇到这个问题,并且他们拥有众多带有杀手级网卡的游戏主板或笔记本电脑之一,那么你可能只需禁用杀手级应用程序即可。但我所做的是完全卸载 ASROCK 提供的驱动程序,然后从官方杀手级网络站点安装最新的驱动程序包。它的下载量较小,约为 30mb。如果你的下载量接近或超过 100mb,那么你下载错了。

您将失去杀手级路由器的所有优势(即 QoS 软件),但这正是优质路由器的用途所在... 尤其是因为杀手级应用程序仅处理在您的 PC 上运行的应用程序的 QoS,而对您的整个网络却没有任何作用。

答案3

magicandre1981 接受的答案是该问题的正确答案,如果 RAM 使用率持续攀升至 100%,则很可能发生了内存泄漏。

但是,如果您来到此页面是因为 Windows 10 的内存使用率很高但保持稳定(例如在 60%-90% 范围内),那么您可能没有遇到问题。Windows 10 更有效地利用 RAM比以往版本更佳。这是因为未使用的 RAM 是浪费的 RAM

现代操作系统早已将不常使用的内存数据交换到硬盘上的页面文件,以便释放 RAM 以用于更频繁需要的内存数据。(我的 Win 10 系统有 8GB RAM 和 12GB 页面文件。)但是,从驱动器中检索这些数据很慢,Windows 10 会压缩不常访问的内存并将其存储在系统进程中(在 RAM 中)。解压缩这些数据比从硬盘(甚至是 SSD)中检索它们更快。仅仅因为您的 RAM 几乎已满,并不意味着您将无法运行更多的东西,如果需要更多 RAM,那么 Win 10 会将部分压缩内存移动到页面文件以释放 RAM 供新应用程序使用。

如果你经常发现你的系统进程占用超过 1GB 的内存(就像我一样),那么你可能打开了太多的浏览器标签(就像我一样)。像一标签可以帮助。

答案4

从“coolie91”处收到这个带外答案,将其发布在这里,基本上“它可能是广告软件”:

今天,我按照此链接中的说明彻底修复了这个问题:

https://www.bleepingcomputer.com/virus-removal/how-to-remove-adware-on-a-pc

解决方案:基本上,一大堆恶意软件和扩展程序劫持了常见程序并利用它们,深藏在 rootkit 等内部。它们几乎不可能被检测和删除。

这似乎对我有用,因为运行了近 2 个小时后,我的内存仍然只有约 41%(唷!!!)以前,我必须每 45 分钟重新启动一次。

相关内容