首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >w3wp.exe占用大量内存

w3wp.exe占用大量内存
EN

Stack Overflow用户
提问于 2011-11-17 08:00:05
回答 3查看 1.3K关注 0票数 2

前几天我注意到,在我的服务器上运行的所有w3wp.exe似乎都比我预期的消耗了更多的内存。所以我用一个aspx页面和一个普通的global.asax页面创建了测试web应用程序(默认方法,不需要额外的代码)。然后,我将该站点部署到IIS6,目标框架为4.0,在发布模式下构建,debug设置为"false“。该站点也设置在它自己的应用程序池下。然后,我使用issapp.vbs找出这个测试站点在哪个w3wp.exe下运行。我很惊讶地看到,只有一个页面的单个站点使用了近40mb的ram。

对于一个单页面的网站来说,40mb的RAM似乎很多。这是正常的吗?如果是,为什么?我能做些什么来减少内存占用吗?

我还注意到,每次刷新默认页面时,w3wp.exe都会增长一点。IIS6是否一遍又一遍地缓存同一页?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-17 08:41:13

40Mb的单个AppDomain (不管你有多少个页面)是可以的。考虑到.NET是一个托管环境,并且应用程序池包含用于服务请求的大部分逻辑和堆。在许多情况下,如果RAM没有处于争用状态(系统的其他部分要求),它也不会那么急于释放RAM。你可以在不同的网站之间共享应用程序池,沙箱的“开销”与你对什么是可接受的看法变得不成比例。然而,我并不认为这是一件坏事。

票数 1
EN

Stack Overflow用户

发布于 2011-11-17 08:03:14

您正在尝试优化没有负载且没有客户端的情况。这真的是不明智的。针对实际用例进行优化。

你不会建立一个工厂,然后试图让它尽可能高效地生产一件物品。你试着让它有效地把它们造出几十个。

票数 0
EN

Stack Overflow用户

发布于 2011-11-17 09:29:39

这并不是一个真正的问题,因为这是很正常的。您的.NET框架正在加载,因此大小。当真正的问题发生时,您将不得不使用某些后期制作或分析工具来修复它。分享一些关于内存和后期生产调试的文章,以备将来需要。

http://msdn.microsoft.com/en-us/magazine/cc188781.aspx http://aspalliance.com/1350_Post_Production_Debugging_for_ASPNET_Applications__Part_1.all http://blogs.msdn.com/b/tess/archive/2006/09/06/net-memory-usage-a-restaurant-analogy.aspx http://blogs.msdn.com/b/tess/archive/2008/09/12/asp-net-memory-issues-high-memory-usage-with-ajaxpro.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8160457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档