C# .Net 下 x86使用大内存的处理
/LARGEADDRESSAWARE 选项通知链接器应用程序可处理大于 2 GB 的地址。 在 64 位编译器中,默认情况下启用此选项。 在 32 位编译器中,如果未在链接器行上指定 /LARGEADDRESSAWARE,则将启用 /LARGEADDRESSAWARE:NO。
如果用 /LARGEADDRESSAWARE 来链接应用程序,则 DUMPBIN /HEADERS 将显示该效果的信息。
在 Visual Studio 开发环境中设置此链接器选项
打开该项目的“属性页”对话框。 有关详细信息,请参见设置 Visual C++ 项目属性。
单击“链接器”文件夹。
单击“系统”属性页。
修改“启用大地址”属性。
不需要largeaddressaware所有windows程序就都能用到2g内存,2g以上才需要largeaddressaware,在2g以内如果你的程序在分配大内存时报outofmemory exception,一般来说有以下几种情况:
1.可用内存不够
2.你在vs2005中用调式方式启动程序,并且在项目属性的调式选项里你启用了vs2005自带宿主方式调试。vs2005自带的调试宿主环境似乎只提供1g内存的地址空间。
3.使用了动态调整的集合对象但未指定Capacity。如ArrayList,Hashtable等。当在需要请求大内存的情况下使用动态调整的集合对象必须强制Capacity上限,因为集合动态调整Capacity所需要的内存数是Count数的3倍。假如你空闲2g内存,使用ArrayList时未指定Capacity,capacity是采用翻倍增长策略的,当Capacity用到1g的时候再添加元素.net会请求2g空间,这样在把所有元素copy到新的内存前总共开销要3g内存.
C# .Net 下 x86使用大内存的处理的更多相关文章
- 【转】一篇关于32位Linux内核使用大内存的文章——Hugemem Kernel Explained &nb
红旗DC系列Linux操作系统(x86平台)中带有四类核心: UP (支持单内核) SMP (支持多内核) hugemem Icc* (用intel C编译器编译的核心) 其中hugemem核心往往引 ...
- 【云和恩墨】性能优化:Linux环境下合理配置大内存页(HugePage)
原创 2016-09-12 熊军 [云和恩墨]性能优化:Linux环境下合理配置大内存页(HugePage) 熊军(老熊) 云和恩墨西区总经理 Oracle ACED,ACOUG核心会员 PC S ...
- [转帖]Linux系统下x86和ARM的区别有哪些?
Linux系统下x86和ARM的区别有哪些? https://www.cnblogs.com/alantu2018/p/9209143.html 其实界限 越来越小了.. 问题: 最近在用三星的一款i ...
- [百度空间] [原]跨平台编程注意事项(二): windows下 x86到x64的移植
之前转的: 将程序移植到64位Windows 还有自己乱写的一篇: 跨平台编程注意事项(一) 之前对于x64平台的移植都是纸上谈兵,算是前期准备工作, 但起码在写代码时,已经非常注意了.所以现在移植起 ...
- Delphi使用大图标编译程序
在Windows Vista. Windows7以上Windows系统中可以支持大图标显示了,但是Delphi编译出来的程序却只能显示32x32的图标,这使Delphi编译的程序看起来很不专业.下面就 ...
- ARC下需要注意的内存管理
ARC下需要注意的内存管理 2016/04/03 · iOS开发 · 内存管理 分享到:1 原文出处: 一不(@luoyibu) 之前发了一篇关于图片加载优化的文章,还是引起很多人关注的,不过也 ...
- linux下的CPU、内存、IO、网络的压力测试
linux下的CPU.内存.IO.网络的压力测试 要远程测试其实很简单了,把结果放到一个微服务里直接在web里查看就可以了,或者同步到其他服务器上 一.对CPU进行简单测试: 1.通过bc命令计算特 ...
- [转帖]linux下的CPU、内存、IO、网络的压力测试
linux下的CPU.内存.IO.网络的压力测试 https://www.cnblogs.com/zhuochong/p/10185881.html 一.对CPU进行简单测试: 1.通过bc命令计算特 ...
- Linux下进程间通信方式——共享内存
1.什么是共享内存? 共享内存就是允许两个或多个进程共享一定的存储区.就如同 malloc() 函数向不同进程返回了指向同一个物理内存区域的指针.当一个进程改变了这块地址中的内容的时候,其它进程都会察 ...
随机推荐
- 玩转Nuget服务器搭建(一)
背景 公司项目是分模块进行架构 ...
- ife2015-task2-4-5
task2-4.html<!DOCTYPE html><html><head lang="en"> <meta charset=" ...
- ElasticSearch5.5.2常用命令
1.启动 转到elasticsearch-5.5.2\bin目录: 打开命令行输入:elasticsearch 2.ELasticsearch集群已经启动并且正常运行 curl http://127. ...
- 删除windows服务命令
打开命令框:输入sc delete 服务名 例如删除elasticsearch-service-x64服务 sc delete elasticsearch-service-x64
- 2017.5.15 markdown简明教程
0.说明 markdown是一种书写格式,html是一种发布格式.markdown的语法种类只对应html标记的一小部分(只涵盖纯文本). 不在markdown涵盖范围的标签,都可以直接在文档里用ht ...
- 转:全面分析 Spring 的编程式事务管理及声明式事务管理
转:from: https://www.ibm.com/developerworks/cn/education/opensource/os-cn-spring-trans/
- ajty
] .Tag //; ].Columns["NodeID"].ColumnName ; ].Tag)["NodeID"]; //(DataRow)row[&qu ...
- 从git下载一个工程
1.右键点工程区,选“Import...” 2.Import source 选Git->“Projects from Git” 3.三个选择项中选最后一项CloneURI 4.弹出对话框,URI ...
- 【BIEE】[nQSError: 35008]尝试从服务器检出对象时出错。请验证服务器设置。
今天在使用PRD时,我先导入表A,然后觉得表A的名字不好,就把导入的表A重命名为表A_TMP,接着保存资料库就卡住了"未响应"(一般不会出现这种问题) 接着我直接使用任务管理器强制 ...
- js从$scope外部调用$scope内部函数,跨js调用非全局函数
scope内部函数定义 //定位 $scope.LocateByPoint = function (x,y) { if(!x || !y) { window.alert("GPS坐标不存在, ...