仅1.7gb内存使用时内存错误不足?

时间:2012-05-06 01:12:46

标签: c# xna

我在xna中有一个程序,我正在加载2gb +的数据(不是问题,这是有意的)。它在任何低于1.7gb的情况下都能正常工作,但只要它超过它就会抛出它。

“内存不足,无法继续执行程序。”

或者我还有一次

“内存不足,无法继续执行程序。”

我有8GB的内存,我的GPU有2GB。我的系统肯定没有内存不足,因为我可以加载内存使用率非常高的其他程序,它仍然会以1.7gb结束。有没有解决这个问题?

3 个答案:

答案 0 :(得分:2)

您是否将所有数据存储在一个对象中?您可能遇到了CLR限制。

查看此帖子:CLR object size limitations

答案 1 :(得分:2)

1)它最有可能运行32位(你可以run taskmgr and be able to tell

2)即使有足够的可用内存来满足请求,也可能没有足够的连续空闲内存。当您开始耗尽进程的虚拟内存空间时,内存碎片会成为一个问题。

有一篇很好的文章包含这些(和其他)问题:

Investigating Memory Issues

答案 2 :(得分:2)

见Tim对this answer的评论。我观察到了同样的局限性。由于Windows上的XNA仅限于32位进程,因此加载大量数据(2gb)几乎是不可能的。