【问题标题】:How to make more memory available to a .Net application?如何为 .Net 应用程序提供更多内存?
【发布时间】:2012-11-10 15:30:35
【问题描述】:

我必须处理一个庞大的数据结构,并以极快的速度获得System.OutOfMemoryException

在 Java 中,我可以轻松调整允许我的应用程序消耗多少内存并将其设置为最高 2 GiB。在 .Net 中也可以吗?

我的开发设备上有 4 GiB 的 RAM 和 32 位 Windows。机器(并且愿意将至少 2 GiB 专用于应用程序)和 16 GiB 的 RAM 和服务器上的 64 位 Windows(并且愿意将最多 10 GiB 专用于应用程序)。

【问题讨论】:

  • 查看内存映射文件
  • .NET 中没有配置,应用程序总是获得整个可用的虚拟内存空间。您需要 64 位版本的 Windows 才能获得更多。四十块钱解决你的问题。

标签: .net memory out-of-memory


【解决方案1】:

首先,当您在 32 位上构建应用程序时,您将使用 2GB 的虚拟内存。

没有办法避免这种情况。

您在 64 位机器上是否有同样的问题?你在那里运行 32 位版本吗? AnyCPU(默认为 32 位)。尝试创建一个 64 位应用程序并在那里运行它。

【讨论】:

  • 我还没有尝试过 64 位系统,但我很快就得到了异常,以至于我怀疑它在我的 32 位系统上达到了 2 GiB。
  • Ivan,请测量您的内存使用情况,并给我们一些数字/图表。我们无法猜测:)
  • 我现在无法测试这些东西,所以让我们开始理论吧:如果您的意思是 64 位 .Net 应用程序可以使用默认安装在 64 位系统上的所有内存,那么请添加将此语句写入答案文本。如果有限制应用程序内存消耗的选项 - 请同时提及,如果没有 - 说明这一点。那我就接受你的回答。提前致谢。
猜你喜欢
  • 1970-01-01
  • 2013-04-12
  • 2010-10-15
  • 1970-01-01
  • 1970-01-01
  • 2017-10-27
  • 2016-05-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多