[已解决问题] 。NET是否限制程序使用的内存?
提问时间: 2007-12-29 18:43
悬赏分:20 浏览:510 次

最近我正在用C#2.0做一个程序,

程序在初始化的时候需要读取一个比较大的静态数组(已经硬性写到代码中去了)他的具体大小我不知道,但是代码文件的大小 1.2M。

 奇怪的是我自己的笔记本上可以正常运行(OS:Vista CPU:T5500,RAM:2G),在工作室的台式机上就抛出了一下异常(OS:XP CPU:AMD3600+,RAM:1G)

System.TypeInitializationException: Zephyr.Strategy.StrategyPolicy.ZStrategyPolicyWarehouse”的类型初始值设定项引发异常。 ---> System.InvalidProgramException: 提问者:逖靖寒 - 初学一级


问题补充:系统并没有抛出“Out of Memory”

最佳答案
本身应该没有限制, 遵循系统的限制
在32位系统下, 内存被分为2个部分,系统和用户,默认2者最大是2GB,在Windows 2003 下,通过/3GB参数,可以使用用户内存变成3GB,系统1GB

你那个情况还不好说,挂上调试器看看吧,如果真的是使用过度了,应该会出现OutOfMemoryException 错误,你看看任务管理器里的资源消耗。

找了2篇关于内存的文章,你可以看看。希望有所帮助
http://msdn.microsoft.com/msdnmag/issues/06/11/CLRInsideOut/default.aspx?loc=zh
http://msdn.microsoft.com/msdnmag/issues/06/12/CLRInsideOut/default.aspx?loc=zh#S2
2007/12/30 5:12:29 回答者:G yc {Son of VB}


提问者对于答案的评价:嘿嘿,谢谢你。 你推荐的文章给了我很大的帮助,再次感谢。
其它回答(2)
是的, 不知道你两台机器的内存相差多少?几十兆的数组里面的内容已经相当可观了, 默认可以使用 60%的内存, 32位系统中单个进程使用的最大内存2.4G, 当.net可用内存的使用率超过50%时,GC会启动回收任务.

根所你的错误信息来看似乎不是这方面的原因,跟踪一下看看吧.
6个月前   回答者:沙加 - 老鸟四级
你要找到引发类型初始化异常的内部异常。从你的内部异常类型来,应该不是内存的原因引起的。如果是内存的问题,你可以看看我这三篇:

http://www.cnblogs.com/hjf1223/archive/2007/11/23/970434.html

http://www.cnblogs.com/hjf1223/archive/2007/11/24/970841.html

http://www.cnblogs.com/hjf1223/archive/2007/11/24/971019.html
6个月前   回答者:阿不 - 小虾三级
评论
6个月前   阿滨 :
可能是你電腦上的.net framework有問題吧.就會報這樣的錯誤
   您需要登录以后才能回答!
我的问题    我要提问

更多来自 逖靖寒 的提问

快到期问题
动态加载程序集问题
上传附件出现“无法访问已关闭的文件”的错误
(急)关于silverlight画polyline或poly
怎么调查问卷式网站的设计
请教高手!!!!!!!C# 正则表达式
expression blend的问题。急
如何使Winform控件如TabControl效果Vista

> 问题排行榜

有不合适内容,建议去除