几天前,我把我的电脑更新到Windows 10。然而,在使用一段时间后,我的电脑开始变慢,直到无法使用--这是由于高内存使用率造成的。重新启动后,一切都恢复了正常(8GB内存的总使用量约为25%)。然而,在几个小时的使用过程中,内存又增加到70%,如果不重启,就进一步增加到100%,后来甚至冻结了。任务管理器帮助不大,因为它没有显示所有的进程(添加了以下截图)。也试过RAMMap,但它给出了一个错误:"刷新数据库错误"。我试着在谷歌上搜索这个问题,但没有什么结果。
我对电脑了解不多,但也许你们中的一些人知道这个问题,或者可以帮助找出什么在使用我的内存。
你有一个由驱动引起的内存泄漏。看一下非分页内核内存的高值。在你的例子中,这个数值超过了3.7GB。你可以使用poolmon来查看是哪个驱动导致了高使用率。
安装Windows WDK,运行poolmon,通过水池类型后面的P排序,使非分页在上面,通过字节后面的B来查看使用内存最多的标签。运行poolmon,进入安装WDK的文件夹,进入Tools(或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来追踪导致使用的原因。安装WPT from the Windows SDK,打开cmd.exe as admin并运行这个。
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 -60s的增长。用WPA.exe打开ETL,将Pool图形添加到分析窗格中。
将pooltag列放在首位,并添加堆栈列。现在加载符号在WPA.exe中,展开你在poolmon中看到的标签的堆栈。
现在找到你在堆栈中可以看到的其他第三方驱动。这里的Thre
标签(Thread)被G-Data的AVKCl.exe使用。寻找驱动/程序更新来修复它。
用户Hristo Hristov提供了一个在解压缩文件时FMfn
使用量很大的追踪。
该标签是由驱动WiseFs64.sys
使用的,它是"Wise Folder Hider"程序的一部分。移除它可以解决泄漏问题。
用户Samuil Dichev提供了一个 "FMic "和 "Irp "使用量很高的追踪信息
这些标签是由程序Razor Cortex使用的。
在用户chr0n0ss的样本中,"FMic "和 "Irp "的使用是由F-Secure Antivirus Suite造成的。
删除它并使用Windows Defender为他解决了这个问题。
这个人可能有一个杀手网络(以前的大脚网络)品牌的网卡。
为了弄清楚为什么我有一个巨大的内存泄漏,我快疯了,甚至做了一个完全干净的安装,安装后我立即出现了内存泄漏。 当然,我安装了我的网络驱动和显卡驱动,但就是这样。
我在谷歌上搜索...发现这个线程说是他的网络驱动,然后在谷歌上搜索"杀手锏内存泄漏",看到了相关的点击率,发现是杀手锏应用本身,而不仅仅是在windows 10中。
现在,我是金主了...... 因此,如果其他人有这个问题,而且他们有许多游戏板或笔记本电脑,有一个杀手网卡,你可能只是禁用杀手应用程序的启动。 但我所做的是完全卸载华硕提供的驱动程序,然后从官方杀手网络网站安装最新的仅有驱动程序的软件包。 这是一个较小的~30mb的下载。 如果你的下载量接近或超过100MB,那么你就找错了。
你会失去使杀手软件脱颖而出的一切(它的QoS软件),但这正是一个好的路由器的首要目的。特别是由于杀手程序只处理在你的PC上运行的应用程序的QoS,而对你的整个网络没有任何作用。
magicandre1981所接受的答案是这个问题的正确答案,如果内存使用量持续攀升到100%,那么很可能存在内存泄漏。
然而,如果你来到这个页面是因为Windows 10的内存使用率很高,但保持稳定(比如在60%-90%的范围内),你可能没有问题。与过去的版本相比,Windows 10更有效地使用内存。 这是因为未使用的内存是浪费的内存。
现代操作系统早已将不经常使用的内存数据交换到硬盘上的分页文件,以便为更经常需要的内存数据释放内存。(我的Win 10系统有8GB内存和12GB分页文件。)然而,从硬盘上检索这些数据的速度很慢,Windows 10将压缩不经常访问的内存,并将其存储在系统进程中(RAM中)。解压缩这些数据的速度比从硬盘(甚至是固态硬盘)检索的速度要快。仅仅因为你的RAM大部分是满的,并不意味着你不能运行更多的东西,如果需要更多的RAM,那么Win 10将把这些压缩的内存中的一部分转移到页面文件中,为新的应用程序释放RAM。
如果你经常发现你的系统进程使用超过1GB的内存(像我一样),那么你可能有太多的浏览器标签打开(像我一样)。一个像OneTab这样的扩展可以帮助你。