我们正在使用在Amazon EC2上运行的
Windows 2008 R2和IIS 7. IIS正在运行用C#编写的单个.NET应用程序.
我们遇到性能问题,我想给应用程序更多的内存,但我无法弄清楚如何做到这一点.如何控制CLR获得的内存量?
我是IIS,.NET和CLR的新手.如果我使用Java,我只需使用-Xmx标志来增加JVM可用的内存(例如,-Xmx3000m为3GB).但是,我似乎无法弄清楚如何在Windows世界中这样做.
托管在Web应用程序的应用程序池中的CLR将根据需要获取尽可能多的内存,然后根据内存需求,根据需要使用垃圾回收来释放内存.
原文链接:https://www.f2er.com/windows/369225.html您可以限制应用程序池可访问的内存量(在UI中,通过“高级设置”对话框,或通过PowerShell和WebAdministration模块).
您可能想要检查是否已为应用程序池上的内存设置了上限,但实际上没有办法将更多内存直接专用于应用程序池,而无需编辑应用程序运行的.NET版本的machine.config下.
编辑:IIS 7中内存上限的默认自动配置是机器RAM的60%.这可以通过编辑运行应用程序的.NET版本的machine.config文件来手动增加.
Details of the various configuration settings here.