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

asp.net – IIS7.5中x64进程的内存限制

发布时间:2020-12-16 09:38:36 所属栏目:asp.Net 来源:网络整理
导读:Windows Web Server 2008 R2(x64) .Net Framework 4.5 它是一个经典的ASP.Net网站(不是一个Web项目,代码在App_Code目录中,并在网站启动时编译) 它取决于/ Bin目录中的许多引用DLL. 对于那些我有源代码的DLL,我将其编译为“x64”平台. 我有一些其他没有源代码
Windows Web Server 2008 R2(x64)&
.Net Framework 4.5

它是一个经典的ASP.Net网站(不是一个Web项目,代码在App_Code目录中,并在网站启动时编译)

它取决于/ Bin目录中的许多引用DLL.
对于那些我有源代码的DLL,我将其编译为“x64”平台.

我有一些其他没有源代码的DLL(mysql.data.dll / etc),它们编译为“Any CPU”.
我在EditBin.exe中修改它们以确保在其PE头中指示IMAGE_FILE_LARGE_ADDRESS_AWARE标志.

根据这张表:
http://msdn.microsoft.com/en-us/library/aa366778%28VS.85%29.aspx#memory_limits

除非设置了IMAGE_FILE_LARGE_ADDRESS_AWARE,否则x64进程不能使用超过2GB的内存.

我如何验证它是否有效?
有什么地方我可以看到运行x64进程的内存限制吗?

解决方法

我不知道你是否真的可以“看到内存限制”明确声明(假设你不相信你引用的MS自己的文档),除了亲自动手并深入研究IIS和/或ASP.NET源代码.

话虽这么说,您可以尝试对网站进行压力测试,并监控内存消耗(通过任务管理器或进程监视器),看它是否超过2GB.我会推荐tinyget,IIS 6 Resource Kit的一部分,其中can still be used with IIS 7.

tinyget -svr:localhost -uri:/< your site> -loop:200 -threads:20

您必须使用循环和线程计数来尝试将其超过2GB.当你接近大约1.4GB的物理和虚拟专用字节组合时,我希望看到一个System.OutOfMemoryException.您可能希望在站点本身中创建压力测试功能,仅用于测试目的,这将通过使用与良好实践完全相反的方式帮助您达到此限制.您可以阅读有关导致System.OutOfMemoryException` here的更多信息,然后执行他们建议的操作.例如,添加一个只在非常大的循环中连接字符串的测试方法.

(编辑:李大同)

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

    推荐文章
      热点阅读