小编Mar*_*ena的帖子

与32位相比,ASP.NET 4.0工作进程在64位内消耗的内存增加了5倍

我已将一个ASP.NET v4.0应用程序迁移到在Win2008 Server x64操作系统下运行的新服务器.因为当应用程序池设置为"启用32位应用程序"= False(应该是x64 IIS上的默认值)时,迁移的asp.net应用程序似乎没有问题,所以我让它以64位模式运行.

然后事实证明,用户会话经常被中断,因为工作进程很快就会超出其虚拟内存限制.由于这个原因,我只使用一个修改过的设置测试了相同的应用程序和相同的应用程序池 - 我将"启用32位应用程序"切换为True以使其以"WOW64"模式运行; 其他任何东西都保持不变.我使用完全相同的用户工作场景比较了两种模式下工作进程消耗的内存量,结果让我有些震惊:

  • 工作量大约消耗 在WOW64 32位模式下运行时为150MB
  • 并且相同的工作负载在"默认"64位工作进程模式下消耗大约800MB.

我曾预料到工作进程可能会在64位模式下消耗更多内存,但这种差异太大了.

这么大的内存影响被认为是正常的吗?有可能以某种方式减少/修复它吗?

asp.net 64-bit iis-7 wow64 32bit-64bit

4
推荐指数
1
解决办法
2445
查看次数

标签 统计

32bit-64bit ×1

64-bit ×1

asp.net ×1

iis-7 ×1

wow64 ×1