翱翔.Net

释放.Net的力量
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

修改boot.ini使W3wp使用更多的物理内存

Posted on 2007-12-18 12:06  Hover  阅读(1667)  评论(0编辑  收藏  举报
环境IIS 6.0 windows server 2003

最近客户的服务器的IIS总是莫名的拒绝服务 IIS运行着某采购中心的业务系统和前台网站(都是我们项目组开发的)

出现问题的解决。查到相关资料是开放应用程序池的内存使用。

服务器只有一个站点在提供WEb服务。所以不存在像别的虚拟主机出现问题的解决办法。虚拟主机的办法是给站点配单独的应用程序池。

这样的问题以前也现过。只是那时的web程序是ASP的。在asp.net 1.1下还没遇到这种情况

使用任务管理器查看时只要内存达到1.7G左右。IIS就拒绝服务了.

在应用程序池处设置了最大使用内存为1.6G就回收。这样只是临时解决了情况。

接下来另一个问题出来了。在内应程序池回收时。Session初始化了。SEssion数据丢失。由于业务系统采用了数字证书。

而数字证书处验证使用了Session导致应用程序池一回收。业务系统就退出。!

看来这不是解决办法。

其间还尝试了其它办法。例如修改mac 配置文件的配置节memoryLimit 。调整可使用的最大内存。但这个选项在IIS 6.0下不起作用。

最大可访问使用的内存限制为2GB。最后修改了boot.ini配置。 增加了/3GB

然后相应的把应用程序池的最大回收内存修改到了2.7G 这样大约1个小时达到内存峰值然后回收、算暂时解决了问题 !。

当然了业务系统的程序肯定需要性能方面的优化。附/3gb说明

/3gb
该开关强制基于 x86 的系统为程序分配 3 GB 的虚拟地址空间,为内核及可执行组件分配 1 GB 的虚拟地址空间。程序在设计上必须能够利用额外的内存地址空间。使用该开关,用户模式程序能够访问 3 GB 的内存而不是通常 Windows 分配给用户模式程序的 2 GB 的内存。该开关将内核的内存起始位置移至 3 GB 处。某些 Microsoft Exchange Server 2003 和 Microsoft Windows Server 2003 的配置可能需要使用该开关。