为什么安装的内存为:4.00 GB 并且可用内存仅为:536 MB - 2.20 GB

为什么安装的内存为:4.00 GB 并且可用内存仅为:536 MB - 2.20 GB

这是一台台式电脑,问题在于已安装内存与可用内存之间的差异。我到处寻找解决这个问题的方法。

  • 安装的物理内存 (RAM):4.00 GB
  • 可用物理内存:536 MB - 2.20 GB

  • 系统信息:HP-Pavilion,Windows Vista,Home Premium,64 位,Service Pack 2

  • 主板型号:FK522AA-ABA a6544f
  • 显卡(视频卡):Intel(R) G33/G31 Express 芯片组系列
  • 总可用显存:286 兆
  • 专用视频内存:0 MB
  • 系统视频内存:128 MB
  • 共享系统内存:158 兆
  • 处理器:Intel(R) Core(TM)2 四核 CPU Q600 @ 2.40GHz,2400 Mhz,4 核,4 个逻辑处理器
  • BIOS 版本/日期:American Megatrends Inc. 5.23,2008 年 4 月 21 日
  • SMBIOS 版本:2.5

在 BIOS 设置中我没有看到“内存重映射”选项。事实上,我唯一的选项是设置启动顺序和密码。

如果我转到 msconfig 在启动选项卡的高级选项中手动强制最大内存,则没有任何区别,即使更改的设置在重新启动后仍然有效。

但是,如果我以安全模式启动电脑,则可用内存会访问所有内存。因此,一定有办法解决这个问题吗?

我没有对电脑进行任何改动或升级,我从 HP 网站购买了新电脑。但我仍然进行了完整的内存诊断(进行了 2 次),没有发现任何问题。

它正确地注册了内存中的所有内容,除了“可用内存”之外:

  • 安装的物理内存 (RAM) 4.00 GB
  • 总物理内存3.99 GB
  • 可用物理内存1.82 GB
  • 总虚拟内存 8.17 GB
  • 可用虚拟内存 5.81 GB
  • 页面文件空间 4.28 GB

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

为什么安装了 4 GB 的物理内存,但电脑只能使用 2 GB 内存?

答案1

在此处输入图片描述

解决方案是多种不同因素的组合:

  1. “任务管理器”会计算所有内存,但在进程列表中它不会列出每个实例。我下载了一个名为“Process Explorer”的程序,它提供了每个实例的非常详细的列表。

  2. 列表中的进程之一是:“svchost.exe (LocalSystemNetworkRestricted)”,“Process Explorer”显示它名为“Superfetch”。据说它的描述是“随着时间的推移,维护和提高系统性能”。

研究表明,SuperFetch 在 Windows Vista 中运行不佳,它只会占用内存和资源。因此,我通过右键单击桌面上的“我的电脑”图标 >“管理”>“服务和应用程序”>“服务”> 找到“Superfetch”并右键单击它以查看属性,然后选择“禁用”来禁用它。

  1. 使用“程序资源管理器”,我发现如果您下载“RealPlayer”,则有一个下载任何音频或视频的选项,当您将鼠标悬停在任何媒体(例如 YouTube 视频)上时,该选项就会显示出来。这会占用大量内存(我很少使用它,但它总是在后台运行)。我还在“计算机管理”中禁用了它,它被称为“RealNetworks 下载器解析器服务”。

  2. 我不知道我是如何得到这个程序的,甚至不知道它是否在运行,但有一个“亚马逊工具栏”,叫做“智能搜索”或类似的东西。这占用了大量的内存。我很难在电脑中找到它,因为它不在安装/卸载部分。我终于在我的程序文件夹中找到了它,并使用了卸载图标。

  3. 最糟糕的情况是 Zonealarm 防火墙和 AVG Antivirus。我卸载了它们,并研究了一款轻量但功能强大的防病毒软件。研究建议使用“Panda Cloud Antivirus”。改进很大!

  4. 我还发现 Windows Vista 处理和存储“可用内存”的方式与 Windows 7、Win 8 和 Win 8.1 不同 - 因此它在“系统信息”中的显示方式不同。

因此,如果我使用 Vista,那么它显示的“可用内存”会比其他操作系统少,因为 Vista 处理内存的方式不同,它会使用尽可能多的内存,而不是尝试保留尽可能多的内存。它是这样设计的,因此未使用的内存不仅仅是“闲置在那里”,而是真正被使用。因此,计算机风扇也会加速运转。

  1. 当我发现“计算机管理”中有许多程序会自动启动,但这些程序并没有被使用或需要时,我研究了 Vista 中哪些程序可以禁用或设置为“手动”。我使用此链接来确定哪些程序:http://www.optimizingpc.com/vista/optimizing_windows_services.html 这也提高了内存性能。

    1. 我还将“msconfig.exe”放入“开始”菜单的“运行...”中,并在“启动”选项卡中取消选中(禁用)不需要在启动时启动的程序和进程。

总之,当我第一次购买全新的计算机时,我从未看到 4 GB 中的可用内存超过 2.20 GB,主要是因为“Superfetch”(“svchost.exe LocalSystemNetworkRestricted”) - 以及其他默认为出厂设置的不需要的程序和进程。我不知道 Vista 如何以不同的方式处理内存。我不记得哪个防病毒软件是标准配置,但我确信它也是内存使用量巨大的来源。

我购买了具有 4 GB 内存的计算机,因为我喜欢同时打开多个选项卡和窗口,并且我不想减慢速度,但 Vista 相当笨重,所以我也打算尽快升级到 Wins 7,这应该会有很大帮助。

谢谢大家的回答和帮助,我非常感激!希望这些信息能对其他人有所帮助。

答案2

根据您的截图:

系统信息中的“可用内存”(屏幕截图 3)显示当前可供使用的 RAM 数量。

您当前正在使用 4 GB 总 RAM 中的 2 GB 多一点(请参阅第二张屏幕截图中的内存图),因此您剩余并“可用”的内存略少于 2 GB。

如果您仅使用 1 GB 的 RAM,则它会报告大约 3 GB 可用。如果您使用 3.5 GB,则它会报告大约 500 MB 可用,等等。

答案3

Windows 启动时会运行许多程序。除了几十种服务外,还有许多程序被单独安排在计算机启动时或用户登录时运行。

这些程序中有一些会检查某些内容然后退出,但大多数程序会等待它们正在监视的某些条件。只要有空闲内存,它们就会保留在内存中:新程序将在空闲内存中运行。

当安排新程序并且没有可用内存时,现有程序将被写入交换文件并且其内存可供新程序使用。

如果需要内存,程序将不会“按规定”被换出,因为下一个需要该内存的程序可能就是刚刚被交换的进程。

但是,有一些“RAM 助推器”程序可以强制交换暂停的程序:这些程序在需要尽快启动高优先级程序的系统上很有用,并且不能等到其他程序被换出后才能运行。

这是一个非常简单的概述。实际上,程序并不是全部交换,而是按定义的内存大小的页面进行交换(因此 Windows 交换文件的名称为“页面文件”),但原理保持不变:RAM 将继续填满,直到所有正在运行的程序的总内存需求超过可用的物理内存。

我希望这能让你明白你的内存并没有丢失:它会在需要时可用,但不会立即释放给新程序(或现有程序的扩展内存需求)。

至于为什么“开箱即用”的 Windows 系统需要 2GB 的运行程序,那就另当别论了……

相关内容