【问题标题】:Insufficient memory error at only 1.7gb memory usage?仅 1.7gb 内存使用时出现内存不足错误?
【发布时间】:2012-05-15 02:07:59
【问题描述】:

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

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

或者我曾经有过的其他时间

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

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

【问题讨论】:

标签: c# xna


【解决方案1】:

请参阅 Tim 对 this answer 的评论。我观察到了同样的限制。由于 Windows 上的 XNA 仅限于 32 位进程,因此加载这么多数据 (2gb) 几乎是不可能的。

【讨论】:

【解决方案2】:

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

查看这篇文章:CLR object size limitations

【讨论】:

    【解决方案3】:

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

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

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

    Investigating Memory Issues

    【讨论】:

    • XNA 仅适用于 32 位进程,因此您可以从 1) 中删除“最有可能”
    猜你喜欢
    • 2022-01-12
    • 2016-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多