取消映射在处理期间创建的内存映射图像

时间:2013-04-23 00:15:27

标签: memory ffmpeg indexing mapping png

我有一个相当大的问题,虽然我只有症状和原因的理论。

我在Windows 7x64下有一个C ++应用程序,它使用对FFMPEG 0.7.13的系统调用来从视频中提取帧。运行时,父应用程序在内存分析器(任务管理器,RAMMap)中维护一个大约2MB的漂亮,可预测的内存占用。我可以看到对FFMPEG的个别呼叫也随之而来。问题是,在大约100次调用FFMPEG后,创建了70,000多个PNG(没有一个目录超过1500个png),Windows内存页面大小从大约2.5GB逐渐增加到超过7.0GB,系统被带到了膝盖。所有用户的进程总和不在报告的内存页面数量附近。

我认为它可能与Windows搜索索引相关,所以我使用SetFileAttributes()和FILE_ATTRIBUTE_NOT_CONTENT_INDEXED关闭了有问题的输出目录的索引,虽然它看起来像宣传的那样工作,但它似乎没有解决问题在眼前。我目前的运行理论是,所有这些提取的PNG都是完全或部分内存映射,由FFMPEG或其他东西。我还可以在RAMMap物理页面选项卡下看到输出PNG作为备用映射文件。

问题: - 这里是否有足够的信息来诊断确切的问题? - 我有办法解决这个问题吗?

提前致谢...

0 个答案:

没有答案