![使用硬盘作为虚拟内存](https://linux22.com/image/591624/%E4%BD%BF%E7%94%A8%E7%A1%AC%E7%9B%98%E4%BD%9C%E4%B8%BA%E8%99%9A%E6%8B%9F%E5%86%85%E5%AD%98.png)
我有一台运行 Windows Server 2008 的虚拟机。我不想为其分配更多 RAM,也无法设置页面文件。
我想知道是否有人有将硬盘空间用作 RAM 的替代方法?
答案1
我认为唯一的方法是在 Windows 2008 Server 安装下添加虚拟机管理程序。例如,使用 VmWare ESXi,您可以为实例分配任意数量的虚拟 RAM(最多 2 TB 和您的磁盘容量),这些实例将被 VM 视为“真实的”。
但请注意,这是一个馊主意并且您不应期望与在 Windows 中使用交换文件相比有任何性能改进(实际上,它可能要慢得多,因为 Windows 不会优化交换,因为它会认为它正在处理物理 RAM)。数据仍将被交换,只是由虚拟机管理程序而不是操作系统本身进行。
答案2
没有一般方式执行您要查找的操作。内存管理由操作系统提供,而交换文件是 Windows 支持虚拟内存的唯一方式。据我所知,目前不可能为 Windows 引入替代虚拟内存系统。
可能会有具体方式根据您使用的编程语言。这可能涉及自定义的 malloc 等效调用。这会移动内存的某些方面管理进入记忆分配器。这会将 VMM 从操作系统中移出并放入应用程序层,此时您可以将它指向任何内容。
答案3
不,这正是页面文件的用途。请注意,它不需要放在 C: 驱动器上;您可以指定它的位置。