系统闲置时Windows 7(x64)内存使用率攀升至90%以上?


12

我有4 GB RAM的Windows 7。当系统从全新启动启动时,我的使用率约为33%。但是,如果我闲置数小时或整夜闲置PC时,PC的使用率通常会攀升至80甚至90%以上(一次,高达98%!)。

通常,最大的提交是大约500MB的SVCHost.exe。我的sidebar.exe进程也趋向于增加到相同的数目。

这是自升级到Win7 SP1以来的一项新开发,并且在Internet上找不到关于它的太多信息。还有其他人遇到过这个问题吗?

编辑 当我回到PC时,会导致严重的性能问题。我必须重新启动才能找回内存。

编辑2: 标记为“服务包”。在安装SP1之前,不会发生此问题,所以我想知道这可能是根本原因。


您如何衡量内存使用情况?任务管理器说512 MB的免费6GB如果大部分都在缓存中就可以了,因为如果需要的话可以立即释放...
Mokubai

您没有描述问题。为什么需要回存?如果不重新启动怎么办?您描述的所有行为都是完全正常的。可用内存是浪费的内存-就像今天只使用2GB,明天就可以使用6GB一样。
David Schwartz,

我在Win7 SP1上有6GB的Ram,我想使用VS2015和SQL Management Studio进行开发,但是在没有运行物理ram的情况下,使用90%以上的内存,现在您可以想象如果我同时运行并且将使用大量虚拟mem会发生什么,由于高清是减慢用作内存的方式,因此您可以想象会发生什么。最多使用的内存是svchost.exe -k LocalSystemNetworkRestricted
2016年

Answers:


6

如果在调用时该内存无法用于其他任务,这只是一个问题。仅仅因为现在就使用它并不意味着不能在需要时迅速释放,而实际上不使用内存将是真正的浪费。

附带说明一下,这是Windows和Linux使用内存的方式的另一个区别。在linux系统上,这会更加令人担忧,因为swap仅用作最后的手段。除非绝对必要,否则不会交换任何内容,因此Linux必须先花时间将用过的RAM写入交换分区,然后才能将其回收用于其他程序。另一方面,Windows喜欢一直保持所有RAM分页。这样,如果它需要使用RAM来用于其他进程,则它已被分页到磁盘,因此可以更快地回收它。这是一个折衷方案-在这方面,Linux对于从未分页/交换的RAM来说速度更快,而在需要快速交换的那段时间里Windows则更快。


@JoelCoehoom “另一方面,Windows喜欢一直保持所有RAM的分页。”对不起,但这是一个普遍的神话。在我的系统atm上,我有16 GiB RAM和7.5 GiB的页面文件支持的虚拟地址空间(即“提交费用”)。但是页面文件中实际上只有570 MiB。(我想在XP的任务管理器,对于一些深不可测的原因,标有该图“PF使用率”的神话开始了它真的只显示承诺费,这可能是虽然作为当前。潜在的页面文件使用。
杰米·汉拉汉

我在Win7 SP1上有6GB的Ram,我想使用VS2015和SQL Management Studio进行开发,但是在没有运行物理ram的情况下,使用90%以上的内存,现在您可以想象如果我同时运行并且将使用大量虚拟mem会发生什么,由于高清是减慢用作内存的方式,因此您可以想象会发生什么。最多使用的内存是svchost.exe -k LocalSystemNetworkRestricted
2016年

2

禁用边栏过程。众所周知,它会泄漏大量内存(尽管托管的附件很可能会导致资源泄漏)。

建议:如果您的主板可以支持此功能,则升级到8 GB的RAM更好,因为Windows Vista和Windows 7都确实消耗了大量内存,并且较新的应用程序这些天似乎也使用了更多的RAM。


2
我并不是真的认为“禁用侧边栏”是可行的选择。自从我获得系统以来,我的小工具就一直存在,而且这个问题只是最近的(自SP1起)。
克里斯·索博洛夫斯基

@Chris Sobolewski:当然,这是您的选择。当然,如果您暂时禁用它,则将具有将其排除为罪魁祸首的优势(或者确定它是造成资源泄漏的原因)。另外,不要小看SP1更新可能已经更新了其中一些小工具以及侧边栏代码本身的可能性-仅仅是因为它是修复问题的更新并不意味着它没有破坏其他东西。
Randolf Richardson 2011年

2

您是说最大的内存使用量是5MB吗?对我而言,svhost.exe占用180mb的内存,运行少数选项卡的firefox占用500mb左右。您能否检查一下内存的实际用途,并告诉我们?是否已安装SQL Server?众所周知,SQL会吞噬一切,具体取决于您可以使用哪种类型的数据库进行开发。

无论如何,请获取Process Explorer,按“专用字节”对您的进程进行排序,然后查看占用所有内存应用程序的内容..也许您有很多进程使它们占用了所有可用内存。您需要检查一下。


那是对的。当我开始时,主机进程像您一样占用180 MB左右的内存,但是当我由于长时间不使用它而回来时,它通常约为500mb。您可能正在使用SQL,我正在运行mySQL的实例,但是我仅是出于测试目的,如果我不使用PC,则数据库不应该做任何事情。我会尝试的,但是想知道在我使用PC一段时间后它是如何连接的,这是一个新现象。
克里斯·索博洛夫斯基

U可以使用进程资源管理器,并在有问题的进程上右键单击svchost.exe,然后转到“服务”选项卡,找出其正在运行的服务。我的svhost.exe具有大量内存,它承载2个服务BFE和MpsSvc。看看您还有哪些其他流程。关于svhost泄漏内存,似乎还有很多可能的选择-> social.technet.microsoft.com/Forums/en-US/w7itproperf/thread / ...尝试在Google上进行搜索。从服务泄漏到视频驱动程序都是一个问题。您可以尝试将驱动程序更新为最新版本吗?
MadBoy 2011年

2

使用Process Explorer,您可以将scvhost.exe流程悬停以查看其托管的服务。

如果您需要详细解决此问题,Microsoft Sysinternals VMMap可以帮助您执行此操作。
它可以让您检查映射了什么内存,并可以让您识别特定的服务...

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明


这看起来应该会有所帮助。它是否具有日志记录选项,所以我可以将其搁置并走开,然后看看我离开后发生了什么?
克里斯·索博洛夫斯基

@ChrisSobolewski:我认为除了时间表之外,也不要让Process Explorer在后台运行...
Tamara Wijsman

0

我有同样的问题-显然,这是IE9在侧边栏中引起的内存泄漏。这是更多信息。

目前,我知道有两个修复程序:一次不时重启侧边栏的黑客攻击,一个更永久的解决方案是卸载IE9。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.