C# 仅使用1.7gb内存时出现内存不足错误?

C# 仅使用1.7gb内存时出现内存不足错误?,c#,xna,C#,Xna,我在xna中有一个程序,我正在加载2gb+的数据(这不是一个问题,这是注定的)。它在任何低于1.7gb的情况下都可以正常工作,但一旦超过1.7gb,它就会抛出这个 “内存不足,无法继续执行程序。” 或者我有过的另一次 “内存不足,无法继续执行程序。” 我有8gb的内存,我的GPU有2gb。我的系统肯定没有耗尽内存,因为我可以加载其他内存使用率非常高的程序,并且它仍然会以1.7gb结束。这有解决办法吗 您是否将所有数据存储在一个对象中?您可能会遇到CLR限制 查看本文:您是否将所有数据存储在一个对

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

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

或者我有过的另一次

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


我有8gb的内存,我的GPU有2gb。我的系统肯定没有耗尽内存,因为我可以加载其他内存使用率非常高的程序,并且它仍然会以1.7gb结束。这有解决办法吗

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


查看本文:

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

查看此帖子:

1)它很可能运行32位(您可以)

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

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

1)它很可能运行32位(您可以)

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

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


请参阅蒂姆对的评论。我也注意到了同样的局限性。由于windows上的XNA仅限于32位进程,因此加载如此多的数据(2gb)几乎是不可能的。

请参阅Tim对的评论。我也注意到了同样的局限性。由于windows上的XNA仅限于32位进程,因此加载如此多的数据(2gb)几乎是不可能的。

这里有一个解释XNA仅适用于32位进程,因此您可以从中删除“最有可能”1)XNA仅适用于32位进程,因此您可以从1)中删除“最有可能”1)最有可能出现的问题,但是以防万一,总是会使用/3GB启动选项将虚拟内存拆分从2/2更改为3/1:)在最近的Windows中,它是bcdedit/set increaseuserva-很可能会遇到更多麻烦,但以防万一,总是使用/3GB启动选项将虚拟内存拆分从2/2更改为3/1:)在最近的Windows中,它是bcdedit/set increaseuserva-请参阅