如何在 Windows 7 (Windows 2008 R2) 中创建 RAM 驱动器?
Posted
技术标签:
【中文标题】如何在 Windows 7 (Windows 2008 R2) 中创建 RAM 驱动器?【英文标题】:How to create a RAM Drive in Windows 7 (Windows 2008 R2)? 【发布时间】:2010-12-02 16:36:31 【问题描述】:这不一定是一个编程问题,但我遇到了磁盘 IO 的性能瓶颈,我想尝试从 RAM 而不是硬盘驱动器写入和读取。我想在 RAM 中创建我的文件,然后针对它运行我的应用程序。
有很多用于创建 RAM 驱动器的工具。它们似乎都不适用于 Windows 2008 R2。有谁知道这是否可行,如果可以,如何。有谁知道有效的工具吗?
【问题讨论】:
我可以建议 serverfault.com 吗? 【参考方案1】:使用Memory-Mapped Files 将文件映射到 RAM(包括支持到页面文件的内存,如果它很大。所以要小心)。
文件映射是一个关联 文件内容的一部分 进程的虚拟地址空间。 系统创建文件映射 对象(也称为部分 object) 来维持这种关联。 文件视图是虚拟的一部分 进程使用的地址空间 访问文件的内容。文件 映射允许进程同时使用 随机输入和输出 (I/O) 和 顺序 I/O。它还允许 过程与一个有效地工作 大型数据文件,例如数据库, 无需映射整个文件 进入记忆。
【讨论】:
我对文件的读/写没有太多控制权。我正在使用多个 SQL CE 数据库,我不知道微软是如何进行文件映射的。如果我可以创建一个内存驱动器,我只需在我的内存驱动器中创建 SQL CE 数据库就可以了。无论如何要在 Windows 2008 R2 中创建一个 RAM 驱动器? 你可以试试这个? hack7mc.com/2009/07/…【参考方案2】:无论您选择购买或写入任何 ram 磁盘,请记住检查 ram 磁盘驱动程序是否响应 SetDispositionInformationFile call。
【讨论】:
【参考方案3】:我最终找到并使用了 Vsuit Ramdisk (Server Edition)。它很好用,但不是免费的。
【讨论】:
以上是关于如何在 Windows 7 (Windows 2008 R2) 中创建 RAM 驱动器?的主要内容,如果未能解决你的问题,请参考以下文章
Windows 7 或 Windows 2008 如何在本地系统帐户或系统上下文中启动进程(来自桌面应用程序)
如何在 xp 和 windows 7 上运行 SWT 应用程序