Enterprise Server上的IIS 6.0 - 内存限制

时间:2008-09-23 21:48:59

标签: asp.net windows iis-6

我们希望将Web服务器从Windows 2003切换到Windows 2003 Enterprise(64位)以使用8GB的RAM。 IIS 6.0和ASPNET 1.1应用程序是否能够从更改中受益?

3 个答案:

答案 0 :(得分:3)

由于ASP.Net 1.1没有x64支持,因此您只能使用32位工作进程运行IIS 6。 / 3GB开关在x64上没有任何作用,但x64本身提供4位而不是2GB的32位进程,因此您可以为工作进程提供更多可用内存。

您需要将AppPools设置为32位:

cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1

您可以考虑将ASP.net内存从应用程序的60%调整为80%,我们已经取得了一些成功。

<system.web> 
  <processModel memoryLimit="80" />
</system.web> 

当你进入1.2GB到1.6GB的范围时,这会给应用程序池带来压力。

需要考虑的其他事项是,大多数ASP.Net 1.1应用程序在2.0应用程序池中运行时没有问题,允许您轻松地将1.1 32位应用程序转换为2.0 64位应用程序。这不需要任何重新编译,只需将应用程序池更改为2.0,然后使用上面的ADSUTIL.VBS脚本切换到x64(设置为0而不是1)。

答案 1 :(得分:0)

我的理解是,在ASP.NET 1.1中存在3 GB的虚拟地址空间限制,并且它从未使64位兼容,尽管2.0是。

您可以让IIS 6.0在64位操作系统上运行32位(即ASP.NET 1.1),但它将采用32位模式(以及其他任何托管的方式,包括ASP.NET 2.0站点)。

Microsoft article on switching between 32 bit and 64 bit

答案 2 :(得分:0)

内存限制为2GB,除非您在进程上使用/ 3GB开关,该进程将为进程本身使用1GB的内核空间。使用IIS超过3GB的唯一方法是运行64位版本。