堆分离以解决内存碎片

Heap separation to solve memory fragmentation

本文关键字:内存碎片 解决 分离      更新时间:2023-10-16

我有一个内存密集型应用程序加载和卸载由于内存分配失败而崩溃的大型映像。

我想尝试堆分离方法来解决这个问题。为图像设置一个区域,为所有其他小对象设置另一个区域。

我找到了像HeapAlloc\HeapCreate这样的windows API函数,但我不确定这是怎么回事。解决这个问题的最佳方法是什么?

我以前成功地使用过HeapAlloc\HeapCreate,也用于大型对象(我相信大于20Mb)。但这是为了将对象保存在单独的堆中以调试内存问题。在最新版本的windows中,低碎片堆应该是默认值。所以我很惊讶你把你的碎片弄碎了。也许你患有这种疾病:LFH残疾?单个分配的最大规模是多少?

如果你有一个内存密集型应用程序(分配巨大的内存块),你肯定应该先看看VirtualAlloc