在Small Business Server 2011安装中,大量的w3wp.exe进程似乎使用的内存不成比例。SBS的开箱即用安装共有7个站点和20个ASP.NET应用程序池(Sharepoint、Exchange、WSUS和SBS特定的东西,如远程Workplace)。
随着时间的推移,产生的十几个w3wp.exe进程倾向于消耗超过4GB的服务器内存,峰值应用程序池属于WSUS,工作集中的内存约为800 MB。通过IIS手动回收应用程序池有助于暂时减少内存使用( w3wp.exe进程收缩到10 MB,其中一些进程很快地重新运行),但显然管理员不想整天这样做。我找不到任何关于SBS预装应用程序池的自动回收的建议,所以我不愿意在生产系统上“只做它”。
我在网络上关于如何限制这一点的研究只提供了一些帖子,声称w3wp内存消耗不会造成损害,但会提高性能,因为“其他应用程序需要时释放内存”。问题是,它没有成功:
我很少管理IIS或ASP.NET应用程序,所以任何关于如何有效地减少应用程序池的内存需求的想法都是受欢迎的。
发布于 2012-01-11 16:09:00
这就是我最后所做的:
将.NET AppPools的服务器应用程序缓存设置为低值(5MB),方法是将web.config at %WINDIR%\Microsoft.NET\Framework\<version>\Config中的privateBytesLimit参数设置为这个答案中的建议:
<configuration>
<system.web>
<caching>
<cache privateBytesLimit="5242880" privateBytesPollTime="00:01:00" />
</caching>
</system.web>
</configuration>这有助于在默认池回收设置下将内存使用量减少到略大于1GB。
显然,也使用了“服务器”类型的垃圾收集器(<gcServer = "true">) 会导致大量的内存消耗,但正如看起来的那样,默认情况下<gcServer>设置为false。
发布于 2012-01-05 14:25:41
欢迎来到SBS的美好世界。建议的RAM要求=10 for .而且它至少需要8gb。(据微软称.)理由很充分。不是一台调得很好的机器.它非常邋遢,臃肿,阳光下的一切都捆绑在一起。你能扔给那个盒子的内存越多..。越好。不幸的是,您被限制在32 to的最大值。哪个白痴..。是愚蠢的。
发布于 2012-01-05 16:54:16
如果您怀疑由此产生的内存消耗是由于软件缺陷造成的问题,则可以使用Microsoft DebugDiag 1.2创建一个完整的内存转储,并分析转储中常见的问题。如果您认为可能存在内存问题,则需要通过选择"Monitor for泄漏“选项启用泄漏跟踪,并让它在创建/分析转储之前运行一段时间。
DebugDiag 1.2下载
https://www.microsoft.com/download/en/details.aspx?id=26798



https://serverfault.com/questions/346935
复制相似问题