加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 06:24:24 所属栏目:asp.Net 来源:网络整理
导读:我已将一个ASP.NET v4.0应用程序迁移到在Win2008 Server x64操作系统下运行的新服务器.因为当应用程序池设置为“启用32位应用程序”= False(应该是x64 IIS上的默认值)时,迁移的asp.net应用程序似乎没有问题,所以我让它以64位模式运行. 然后事实证明,用户会话
我已将一个ASP.NET v4.0应用程序迁移到在Win2008 Server x64操作系统下运行的新服务器.因为当应用程序池设置为“启用32位应用程序”= False(应该是x64 IIS上的默认值)时,迁移的asp.net应用程序似乎没有问题,所以我让它以64位模式运行.

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

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

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

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

解决方法

经过更多调查后,似乎没有内存问题.新服务器只有更多内存,而在64位操作系统应用程序池上运行时,只允许分配更大的内存资源.它看起来像一个内存泄漏,但由于从一定数量的分配RAM进程停止消耗额外的内存,它似乎根本不是一个内存问题.感谢所有响应者..

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读