减少 Windows 10 x64 内存占用 - 我可以调整系统的自动内存压缩吗?

减少 Windows 10 x64 内存占用 - 我可以调整系统的自动内存压缩吗?

最近从 Windows 7 和 Linux(Ubuntu/Kali/Redhat)迁移到 Windows 10,并广泛使用虚拟操作系统

在尝试运行迁移的客户操作系统时,发现很难减少新 lenovoZ51-70 笔记本电脑上的 Windows 10 操作系统的内存占用,但主机操作系统的 eventvwr 日志中出现以下错误

Provider [ Name] Application Error

EventID 1000 [ Qualifiers] 0

Level 2

Task 100

Keywords 0x80000000000000

TimeCreated [ SystemTime] 2016-01-26T10:26:59.000000000Z

EventRecordID 2163

Channel Application

Computer ZeroCool

Security
EventData VirtualBox.exe 5.0.14.5127 569e6712 QtCoreVBox4.dll 4.8.6.0 5565c7c8 c0000005 0000000000023217 1594 01d1582400729aef C:\Program Files\Oracle\VirtualBox\VirtualBox.exe C:\Program Files\Oracle\VirtualBox\QtCoreVBox4.dll 6f631a15-7ad8-4d59-bde5-59a431caf81e

并且虚拟盒虚拟日志指向缺少可用的 RAM 来供应用程序锁定...其中客户机只需要 1600MB 而笔记本电脑有 4GB RAM 并且操作系统限制应用程序消耗超过 1400MB 的 RAM,并且根据虚拟盒社区的建议显著增加了操作系统的虚拟内存。

未来几个月内极不可能升级到另一个 RAM 模块!!只有在所有可用的技术论坛中进行了大量研究后才提出这个问题.....作为企业应用程序开发人员,我已经做好了功课......

我对这个论坛的全部要求就是提供给我一些消耗内存的无用操作系统服务列表,如果需要的话我不介意侵入注册表或 Dll……

或者减少 Windows 10 操作系统内存占用的步骤

在浏览了几个技术论坛后,更改了注册表项和页面文件大小。

注册表更新 * 开始 > regedit(单击“开始”后输入 regedit)* HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > 控制 > 会话管理器 > 内存管理 * 右键单击​​ ClearPageFileAtShutDown > 修改 > 将数值数据更改为 1。* 重新启动(立即重新启动或在下面的控制面板更新之后重新启动)

控制面板更新 * 控制面板 > 系统和安全 > 系统 > 高级系统设置 > 性能 > 设置 > 虚拟内存 * 取消选中“自动管理所有驱动器的分页文件大小” * 选中“系统管理大小”按钮 * 重新启动

奇怪的是,Windows 10 64位的内存消耗仍然保持在3Gigs。

Windows 资源管理器屏幕截图 Windows 任务管理器屏幕截图 虚拟框错误消息 虚拟盒错误屏幕截图

在 Windows 10 中,他们在内存管理器中添加了一个名为压缩存储的新概念,它是内存中的压缩页面集合。这意味着当内存管理器感受到内存压力时,它将压缩未使用的页面而不是将它们写入磁盘。这减少了每个进程使用的内存量,允许 Windows 10 一次在物理内存中维护更多应用程序。这也有助于在 Windows 10 中提供更好的响应能力。压缩存储位于系统进程的工作集中。由于系统进程将存储保存在内存中,因此当内存可供其他进程使用时,其工作集会变大。这在任务管理器中可见,也是系统进程似乎比以前的版本消耗更多内存的原因。

有没有什么办法可以调整压缩存储以满足我的要求?

答案1

您可以尝试向系统添加更多内存压力,以便 Windows 将内存页面从 RAM 推送到页面文件。系统内部 testlimit程序允许你分配大量内存(正如 Russinovich 的一篇博客文章中所述),这应该(希望)能够说服内存管理器将数据推送到页面文件。

运行以下命令并让其运行一段时间(在任务管理器中监控您的 RAM),然后终止它。

testlimit64 -m 100

您应该会看到其他进程的物理承诺费用(即实际 RAM 使用量)减少,并且 testlimit 占用了所有内容。当 testlimit 结束时,您应该会比开始时拥有更多的可用 RAM。

重要的提示:这可能会让您启动虚拟机,但也会减慢计算机上运行的所有其他程序的速度,因为当您下次使用它们时,它们可用的物理内存会更少,需要从页面文件中加载。

(这是一种解决方法,而不是真正的解决方案。正如前面提到的,增加 RAM 是最好的解决方案)。

答案2

在您发布的屏幕截图中,我看到“firefox.exe”占用了 200 MB。所以您可能手动启动了 Firefox。这就是为什么这个屏幕截图没用的原因,您应该在启动后立即截取屏幕截图,然后再启动任何应用程序。这样,我们就可以看到在所有后台程序启动后还有多少可用的 RAM。

如果您缺少 RAM 并且不想添加更多 RAM,您绝对应该启用页面文件。这是 RAM 的扩展,但它位于硬盘上。虽然此 RAM 的性能与实际 RAM 相比较差,并且会降低应用程序的速度,但您将能够启动 VirtualBox。

我认为 VirtualBox 明确要求实际 RAM,它不想使用交换。这就是为什么您需要在启动操作系统时立即启动它,因为此时有足够的物理 RAM,而如果 VirtualBox 启动后没有足够的物理 RAM,其他应用程序将使用交换。

如果你无法在启动后立即启动 VirtualBox,请从以下位置下载 Sysinternals Autoruns这里. 您可以在此处打开和关闭在系统启动和用户登录时运行的程序和服务。但要小心,如果您禁用对系统操作很重要的某些内容,您的 Windows 将无法启动!

具体禁用什么取决于很多因素,而且太复杂,无法在这里发布。

首先,您可以禁用 Skype、Mozilla 维护服务、Google 更新服务、Adobe 更新服务以及所谓的“系统调整实用程序”等程序的自动启动。基本上,禁用您自己安装的所有程序并让其自动启动是安全的。对于系统服务,这里无法解释,您应该小心谨慎并了解自己在做什么。

相关内容