Windows 7中的RAM使用不合理


16

我重新安装了Windows 7,正常启动时的RAM高达2.5GB。我看了看任务管理器,那里以及资源监视器中至少有1.5GB的空间。没有迹象表明正在使用该RAM。有人可以告诉我如何找出消耗我记忆的东西吗?我相信这是一种病毒,但是没有免费的防病毒程序能够对其进行追踪。

我在下面添加了图片。如果这是Windows 7的正常用法(暗示某些答案),那么我根本不会理解。

PS
我的Windows 8安装低于2.5GB,实际上是1.点,直到最近,我才从另一台计算机上传输了一些文件,这些文件与我的问题相同。我删除了Windows 8并安装了Windows 7,因为无论如何我都会这样做,现在我在Windows 7中也获得了很高的内存使用率。

屏幕截图
(点击图片放大)

屏幕截图


欢迎来到超级用户!为了帮助您诊断计算机,我们需要更多信息。您能否提供任务管理器的屏幕截图,以便我们了解发生了什么?
digitxp

2
很高兴来到这里:)我在问题中添加了图片。
Deus Deceit 2013年

11
回复:I believe it's a virusxkcd.com/1180(SCNR)
Heinzi

Answers:


64

如果您希望操作系统不使用RAM,请将其从计算机中取出并放在桌上。但是只要RAM在机器中,就可以免费使用。如果您在考虑“我现在希望释放RAM,以便以后再使用”,那么您就傻了。现在,您可以使用它,并在以后使用它。有没有缺点使用RAM。一个都没有。

现代操作系统只有在没有选择的情况下才会释放RAM。这是因为只能发生两件事。如果RAM即将使用,那么他们只需要再次使用RAM,就浪费了他们为使RAM可用而付出的努力-将RAM从一种用途直接转移到另一种用途更容易。而且,如果不尽快使用RAM,那么再次浪费它的精力也就浪费了。只有当操作系统没有其他选择时,才使RAM空闲是最后的选择,因为这增加了操作系统使用RAM所必须经历的额外步骤。

仅在极少数需要RAM且操作系统无法将RAM从一种用途过渡到另一种用途(例如,在中断上下文中)的情况下,才需要可用RAM。为此,仅需要非常少量的RAM,在现代计算机上通常为64MB左右。多余的可用RAM就是浪费。

考虑程序是否运行然后停止。该程序在RAM中。操作系统可以释放RAM或将程序保留在RAM中。如果程序很快再次运行,那么将其保存在RAM中是一个巨大的胜利-避免了磁盘I / O。如果出于某些其他目的不需要RAM,则将程序保留在RAM中的成本为零。因此,操作系统将程序保留在RAM中,直到需要该RAM进行其他操作为止。在不需要可用RAM时将RAM释放是纯粹的失败主张。


1
太烂了 看起来,我浪费了每天追逐独角兽的时间。我要感谢大家的回答,并将此答案标记为“正确”,因为我认为这是最有见地的答案。
Deus Deceit 2013年

极好的答案。这与“我需要多少RAM?”并驾齐驱。您只需要使用的数量就可以了。
Keltari

9
人们不了解的是,空闲/空闲RAM浪费了RAM。反正那里是什么?人们已经习惯于XP-的工作方式,以至于人们大为抱怨Vista是RAM猪(很少有理由)。
卡兰2013年

1
这些答案的问题是,尽管正确,但它们通过解释用于缓存的方法来解决“可用” RAM的缺乏。“缓存” RAM与分配给正在运行的进程的RAM不同,这个问题似乎是在专门询问正在运行的进程“使用”的RAM。操作系统用于缓存的RAM应该是完全透明的,并且在任务管理器中不应显示为“已使用”(当然,如果各个进程决定使用更多可用RAM进行自己的缓存,那么这将不适用,可能就是这种情况)。
鲍勃

4
@Bob这种情况​​与分配给正在运行的进程的内存完全相同。几乎所有物理RAM本质上都是现代操作系统上的缓存。进程分配的内存可能对应于实际物理RAM,也可能不对应于实际物理RAM,具体取决于OS的其他需求。
David Schwartz

8

Windows 7尝试利用所有RAM。如果没有程序在使用它,它将在HD中存储尽可能多的信息,以便当程序请求某些信息时,它将在RAM中可用(这比磁盘快得多)。

该功能称为Superfetch,您可以在该链接中阅读有关此信息的信息,也可以在其中搜索。如果您想知道它如何影响(改进)性能,请访问Tom's Hardware网站。

如果程序需要更多的内存,Windows将为程序提供必要的RAM,因此您不必担心。


4

您可能会观察到的是Windows 7磁盘缓存功能,它们实际上优化了RAM的使用,即使看起来好像发生了相反的情况。

Linux内核也具有这种功能


1
我使用linux作为主要操作系统,要达到2.5 GB的内存,我必须...实际上,我认为我所做的工作从未达到2.5 GB的内存。
Deus Deceit 2013年

有没有办法检查是否是这种情况?有没有办法关闭该功能并查看会发生什么?我是Windows新手。
Deus Deceit 2013年

是的,这说明了如何:addictivetips.com/windows-tips/disable-windows-7-superfetch(注意,他们建议您在大多数使用情况下均禁止禁用)
dtmland

3
请注意,关闭Superfetch仅表示Windows可以将内存用于其他目的。最后,“可用内存”仍然意味着Windows完全不知道如何处理它。
MSalters 2013年

Windows 7(以及Vista,8、8.1和10)的新“磁盘缓存功能” SuperFetch不会从“可用” RAM中获取RAM。它“使用”的RAM保留在备用列表中,因此“可用”。它仅用于缓存其他内容-最近访问的文件内容,而不是最近从内存优先级低的进程中推出的页面。
Jamie Hanrahan

3

对于Windows 7来说,2.5 GB或RAM是完全正常的数量。当前,我的机器处于闲置状态,并使用2.51 GB的已用RAM。我非常怀疑您感染了病毒,这是典型的内存使用情况。

至于正在使用该RAM的内容,请查看“任务管理器”并确保已Show processes from all users选中该复选框。如果没有选择该选项,您将看不到任何系统进程(或其他用户)及其内存使用情况。


1
我同意,我刚刚进行了全新的Win 7安装,内存使用量约为2.1 GB。
摩西

如果某人拥有2 GB的ram而不是我的笔记本电脑拥有的ram,那会发生什么?
Deus Deceit 2013年

4
如果您有较少的RAM,它将使用较少的内存。
David Schwartz

@DeusDeceit添加到David的评论中,任何现代OS(Windows,Linux,MacOSX)都会查看可用的内存,并决定使用它的最有效方式。任何现代系统都不会尝试用3Gb数据填充2Gb的ram并获得三分之二的数据并说“哎呀”。
罗伯·摩尔

3

这与Linux常见的“ Linux吃了我的RAM”问题非常相似。我正在大量使用Windows 7计算机,当我有6GB的物理RAM时,它会吃掉5GB左右的东西。当我升级到8GB时,它在吃6-7GB。但是我对机器所做的工作没有任何改变。

它使用RAM来缓存文件,以便以后可以更快地访问它。与Linux非常相似。它实际上是免费的,当您的应用程序需要分配更多的RAM时,Windows 7将发布。

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.