4

我在 a 上安装了 MongoDbwindows server 2008 R2hotfix KB2731284没有安装,但我无法轻松重启服务器。

hotfix描述中,我收到此消息“您运行的应用程序使用该FlushViewOfFile()功能从分页内存池中清理内存映射文件。” (见https://support.microsoft.com/en-us/kb/2731284

我的问题是,何时FlushViewOfFile()调用该函数?我的应用程序只是在一个集合中写入并从中获取数据。我会冒犯一些错误行为的风险吗?

4

1 回答 1

7

我认为您可以在不应用 Hotfix 的情况下运行 MongoDb,但我不推荐它。时间长了你可能会遇到问题。他们在 MongoDB 中包含了一些修复程序来解决该问题。

可以在此处此处找到问题的详细描述。

另请参阅

在 Windows 上,内存映射文件刷新是同步操作。当操作系统虚拟内存管理器被要求刷新内存映射文件时,它会向操作系统中的文件缓存管理器发出同步写入请求。这会在具有高磁盘 IO 延迟的 Windows 系统上导致大量 I/O 停顿,而在 Linux 上,相同的写入是异步的。

该问题在 Azure 持久存储 (10ms) 等高延迟磁盘驱动器上变得至关重要。这种行为会导致非常长的 bg 刷新时间,将磁盘 IOPS 限制在 100。在低延迟存储(本地存储和 AWS)上,问题并不那么明显。

在 Windows 7 和 Windows Server 2008 R2 上,应用修补程序时,您可以获得更好的文件分配性能,这与 MongoDB 相关

于 2015-05-28T09:17:45.173 回答