我有一台混合型超极本,配有固态硬盘 (mSata) 和硬盘,可与英特尔快速存储配合使用,我的 PC 有 6 GB 的 RAM。所以我想知道我是否可以禁用虚拟内存,以及我还应该做哪些其他事情来提高系统性能?
我正在使用带有核心 i3 u3217 的 Windows 8。
答案1
禁用虚拟内存不是一个好主意。虚拟管理是一个复杂的过程,但简单地说,Windows 仅在没有“实际”内存可分配时才使用虚拟内存,然后 Windows 会将内存中使用较少的项目交换到虚拟内存。
因此,如果您有足够的内存,Windows 将不会使用虚拟内存,而仅在需要使用时才使用它。(这并不意味着它不会在虚拟内存中写入任何内容,但不会导致性能下降。)
但是当您禁用虚拟内存并且应用程序没有足够的内存时,由于内存不足,应用程序就会崩溃。
答案2
您无法禁用虚拟内存。Windows 和您的应用程序始终在虚拟内存中运行。程序和操作系统向 CPU 呈现的地址是虚拟地址,而不是物理地址。始终如此。
删除页面文件不会禁用虚拟内存。(Windows 对话框中的术语具有误导性。)它的作用是禁用一种称为“私有已提交”内存的特定类型的虚拟内存的磁盘分页。这可能会导致另一种主要类型(映射内存)的分页次数超过其他类型。这不会提高性能。
以下是更完整的分析:http://azius.com/blog/why-do-i-still-need-a-pagefile-or-how-can-i-be-out-of-memory/
答案3
我不是 Windows 专家,我纯粹是以长期使用 Windows 的用户的角度来讲这些。
如果启用虚拟内存:
- 系统驱动器(通常是 c 驱动器)的根目录中会创建一个大文件(通常是物理内存大小的 1.5 倍)。此文件无法移动到另一个驱动器。如果您的系统驱动器是小型 SSD,并且您有 16GB 内存,那么这会非常麻烦。
- 如果您最小化某个程序并在很长时间后(例如几个小时后)恢复它,Windows 将大量读取驱动器,并且该程序会在一段时间内无响应。可能 Windows 已将该程序的所有内存放入虚拟内存中,并在激活时尝试恢复内存。
- 上述 1 和 2 节省的实际内存可用于文件缓存。曾经读取过的文件下次可以超快速地读取。请注意,无论是否使用虚拟内存,Windows 都会这样做。只是如果启用了虚拟内存,就会有更多的实际 RAM 用于此。无论如何,您可能会或可能不会注意到效果。
如果禁用虚拟内存:
- 您不会在“启用”部分遇到前两个烦恼。
- 如果您的 RAM 使用量接近物理内存的大小,是的,“接近”不等于,Windows 将不断显示弹出消息,提示系统内存不足。例如,如果您有 1GB 的物理 RAM,任务管理器显示已使用约 0.5GB 的 RAM,但 Windows 可能会不断显示警告弹出窗口。
- 如果您的 RAM 使用量非常接近物理内存大小,整个系统可能会变得非常非常慢且无响应。应用程序可能会无缘无故崩溃。
除此之外,我没有遇到禁用虚拟内存的任何不利影响。我认为虚拟内存技术很久以前就发明了,当时 PC 的 RAM 为 8MB 或 16MB(MB 而不是 GB)。当我还是一名大学生时,我选修了一门操作系统课程,学习了虚拟内存的工作原理。但它是一种通用机制,而不是 Windows 独有的。当 PC 的 RAM 非常少时,它可能很有用,但现在任何人都可以轻松在自己的台式机上配备 16GB。我认为虚拟内存不再那么有用了,除非您使用的是具有不可扩展的 4GB RAM 的笔记本电脑。我个人已在具有 16GB RAM 的 PC 上禁用了它。
就您而言,如果您 100% 确定您的 RAM 使用量永远不会超过 5GB(因为您有 6GB),请继续禁用它。