对于游戏 Minecraft,运行服务器应用程序时的一般方法是在 RAMDisk 中运行它,因为它使用数百个小文件来生成世界,I/O 速度是主要瓶颈。
在最近的尝试中,我尝试使用 Dokan/ImDisk 以编程方式为服务器应用程序创建 RAMDisk。 Dokan 比普通硬盘慢得多,我无法让 ImDisk 正常运行。由于这是我所知道的仅有的 2 个具有 .NET API 的文件系统驱动程序,因此我现在正在寻找替代方案。
我之前曾提到过尝试使用内存映射文件。我目前的方法是创建 RAMDisk,在游戏服务器数据文件夹和 RAMDisk 之间创建符号链接(symbolic link),然后启动游戏服务器进程。
内存映射文件能否以同样的方式运行,I.E.创建一个我可以创建符号链接(symbolic link)的虚拟驱动器?比如G:\Data_Files\?
是否有任何其他替代 Dokan/ImDisk 的 .NET API/绑定(bind) float ?
最佳答案
在查看了一堆解决方案并做了一些基准测试之后,我们不能放弃 RAMDisk from DataRam .我们尝试了一堆 Windows 驱动程序和一些其他免费赠品解决方案,最终无法证明与商业解决方案的微小价格标签相比,这些费用是合理的。
关于c# - 内存映射文件与 RAM 磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7049910/