代码之家  ›  专栏  ›  技术社区  ›  pgb

企业服务器上的IIS 6.0-内存限制

  •  1
  • pgb  · 技术社区  · 17 年前

    我们想将web服务器从Windows 2003切换到Windows 2003 Enterprise(64位),以使用8GB的RAM。IIS 6.0和ASPNET 1.1应用程序能否从这一变化中受益?

    3 回复  |  直到 17 年前
        1
  •  3
  •   Christopher G. Lewis    17 年前

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

    您需要将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切换到x64。VBS脚本(设置为0而不是1)。

        2
  •  0
  •   Pseudo Masochist    17 年前

    据我所知,ASP中的虚拟地址空间限制为3GB。NET 1.1,尽管2.0是兼容的,但它从未与64位兼容。

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

    Microsoft article on switching between 32 bit and 64 bit

        3
  •  0
  •   crackity_jones    17 年前

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

    推荐文章