在 Web服务器上,所能够用到的内
在 Web服务器上,所能够用到的内存,通常不会等同于所有的内存数量。
在nfig配置文件中,
配置节processModel中有一个属性“memoryLimit”,这个属性的值是一个百分值,默认为“60”,即指定了进程(在任务管理器中大家就可以看到的进程,IIS5中为aspnet_wp,IIS6中为w3wp)能够使用所有物理内存的60%。当使用的内存量超过这个限额时,IIS会开始自动回收(recycle)进程,即创建一个新的进程去负责应付Http请求,而将旧进程所占用的内存回收。当我们有一台很大内存的服务器时,“memoryLimit”这个值是需要进行适当的调整的。比如我们准备了一台chemas-microsoft-comofficemarttags\" /t=\"on\"4G内存的服务器,那么t=\"on\"4G×60%=t=\"on\"2.4G。但是,对于Win32操作系统,一个进程所能占用的所有内存空间只有t=\"on\"2G。当进程占用的内存开始达到t=\"on\"2G时,由于它并没有达到t=\"on\"2.4G的“回收阈值”,所以IIS不会启动recycle进程操作,但是由于Win32的限制,实际上已经不能给这个进程分配更多的内存了,于是,OutOfMemoryException就很可能会被抛出了。为了避免这样的情况,我们就必须将“memoryLimit”适当调小,以让IIS更早的进行进程回收。
微软推荐的进程占用内存是不超过60%,并最好使计算出的实际值不超过t=\"on\"800M。就是说,对于一台t=\"on\"4G内存的服务器,最好将“memoryLimit”属性设置成“20”。设置一个适当的回收阈值,让IIS适时的进行进程回收,对于保证整个服务器的稳定运行,避免OutOfMemoryException是非常重要的。
汇率制度改革的过去一年里 在IIS6中,进程的回收阈值不再由
配置节中的“memoryLimit”属性决定,而是由IIS管理器中的应用程序池配置中的设置决定。
但是,即使正确设置了这些配置,也不能保证完全避免OutOfMemoryException的发生,原因可能是多样而复杂的,比如内存回收操作可能耗时太多等等。开发人员要注意的,就是在代码中时刻牢记不要无谓的使用和浪费内存。:)
如果你有一台大内存的服务器,同时对Win32操作系统中对于进程最高使用t=\"on\"2G内存的限制很郁闷,可选的解决方法有两个:
1、使用/3GB模式启动计算机,方法参加文后的链接
2、使用Windows Server 2003 64bits Edition
查看本文来源
温州哪个医院治疗白癜风最好兰州医院哪家治疗白癜风好
北京白癜风疾病医院
- 他们有在听吗?用这3个技巧,抓住听众的焦虑
- 刘亦菲、李易峰的流量转型路:道阻且长
- 片场长大的杨幂“知世俗而不世俗”,你喜欢她演过的哪部经典作品呢?
- 【文中红包】A股为何全线大跌?添富火线解读
- 国际刑警组织丨曼陀罗误当蔬菜吃,宁夏一对母子中毒!
- 腌制咸鸭蛋,只加盐是“外行”!多加4种料,10天腌制好,流油又起沙
- 安卓手机也将玩游戏“空间音频”,您会期待吗?
- 宝马计划与韩国供应商合作生产线固态电池
- 8岁女童连不吃大量荔枝引起中毒?荔枝虽美味,但5类人也不能多不吃
- 中乙山西龙晋退出职业联赛:无法在规定小时交60万参赛保证金
- 如何在dota2中都激怒玩家?只需一招,无论是队友还是对手都会红温
- 岗位中无论心结有多大,弄明白这五个道理,混得越来越顺利