首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >系统内存不足异常在64位机器上?

系统内存不足异常在64位机器上?
EN

Stack Overflow用户
提问于 2012-07-16 17:06:31
回答 2查看 4.5K关注 0票数 2

我有一个asp.net应用程序和其他6个类库项目。在一个主要的类库项目中,我缓存了一些静态DB表。Webdev.webserver40.exe达到约1,5GB,它将“系统从内存异常中抛出”。我知道,在32位机器上,我被限制在2GB的进程大小,但我的开发机器是64位,64位不应该有限制。好的,我看到您说您的Asp.net应用程序无论如何都会运行32位,即使我有64位的机器。因此,我得到了例外。但我能做些什么来解决这个问题呢?

  • 我打开了配置管理器,并试图将所有类库更改为x64,但我无法更改我的主要网站项目。这就是为什么在32位网站上没有识别64条引用的原因。

请不要告诉我,我应该做本地DB或其他一些选项,而不是缓存到内存中:)好,这些也是其他选项,但我想知道内存中是否存在这些选项,我甚至需要缓存超过2gb。

PS,Debug选项卡下的“启用VS托管过程”选项是什么。会影响我的问题吗?我试着检查和取消检查,但没什么改变。实际上,检查它的效果更好,但我仍然得到了例外。

编辑1:正如我发现的那篇文章,它告诉我,如果在64位操作系统上运行32位应用程序,我应该有2800 max。进程大小,但为什么它不允许我这样做,并抛出异常约1500 me。

http://blogs.msdn.com/b/tom/archive/2008/04/10/chat-question-memory-limits-for-32-bit-and-64-bit-processes.aspx

编辑2:我试着在类库的app.config中添加代码,我在其中进行缓存,以及按照web.config上的建议将代码添加到msdn中,它说的只是框架4.5,但我使用的是4.0。在4.0上也有类似的黑客吗?因为我不确定是否应该安装并开始使用4.5,而它不是最后一个版本。

代码语言:javascript
复制
<runtime>
  <gcAllowVeryLargeObjects enabled="true" />
</runtime>

谢谢你的帮助。致以问候。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-05 13:33:58

可以将IIS express设置为在visual studio中运行64位:

转到Visual Tools - Options菜单

选择:-项目和解决方案,然后选择Web项目

勾选复选框:“为网站和项目使用IIS Express的64位版本的用户”

没有必要编辑注册表。

票数 4
EN

Stack Overflow用户

发布于 2012-07-16 19:49:44

我可能弄错了,但我确实相信Webdev.webserver40.exe。卡西尼( Cassini)是一个32位的本地C++应用程序.

在“asp.net web项目属性”页面中,选中“使用issue”框,查看是否解决了您的问题。

编辑:也检查这些东西-

  1. 检查是否确实有足够的RAM来保存数据。
  2. 确保交换文件驱动器上有足够的免费HDD空间。
  3. 确定交换文件是动态的还是固定大小的
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11509120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档