我正在努力最大化我的程序速度(以便实时获得结果)并避免从硬盘驱动器中不必要地加载数据。
程序应该处理大量的图像,我想在RAM中处理尽可能多的处理数据。但是我发现即使我有8GB内存(Windows 7 64位),malloc
也不会分配超过2GB。
如何让我的程序尽可能多地使用RAM?
答案 0 :(得分:7)
我认为相当于mmap(2)
的窗口是VirtualAlloc
这应该允许你使用更多的内存。请记住,操作系统仍可能决定将您的记忆分页。您可以使用VirtualLock
将其锁定在RAM中。可锁定内存的数量可能会受到限制。
同样如评论中所述,请确保将程序编译为64位。