我是将大文件(〜200GB)映射到单个区域/视图并按顺序写入内存的内存。我偶尔会执行一个boost::interprocess::mapped_region::flush(last, current, false)
。释放内存映射内存
过了一段时间,过程耗尽整个系统内存。据我所知,这是正常的,因为它将释放内存作为其他进程请求内存。
这在Windows 8上运行良好。但是,在Windows 7上运行时,似乎无法与AJA视频卡的驱动程序一起运行,并且它开始影响性能(丢弃IO数据包)。
有没有什么办法可以强制Windows 7将内存的一部分刷新到磁盘(写入数据后只有几秒钟有趣,并且记住我正在按顺序遍历整个文件),如不使用整个可用的系统内存?
请评论是否为-1。 – ronag