我是將大文件(〜200GB)映射到單個區域/視圖並按順序寫入內存的內存。我偶爾會執行一個boost::interprocess::mapped_region::flush(last, current, false)
。釋放內存映射內存
過了一段時間,過程耗盡整個系統內存。據我所知,這是正常的,因爲它將釋放內存作爲其他進程請求內存。
這在Windows 8上運行良好。但是,在Windows 7上運行時,似乎無法與AJA視頻卡的驅動程序一起運行,並且它開始影響性能(丟棄IO數據包)。
有沒有什麼辦法可以強制Windows 7將內存的一部分刷新到磁盤(寫入數據後只有幾秒鐘有趣,並且記住我正在按順序遍歷整個文件),如不使用整個可用的系統內存?
請評論是否爲-1。 – ronag