如何增加分配给IIS .NET应用程序的内存?

我们使用在Amazon EC2上运行的Windows 2008 R2和IIS 7。 IIS正在运行用C#编写的单个.NET应用程序。

我们有性能问题,我想给应用程序更多的内存,但我不知道如何去做。 我如何控制CLR获得的内存量?

我是一个与IIS,.NET和CLR的总新手。 如果我正在使用Java,则只需使用-Xmx标志来增加JVM的可用内存(例如,3GB的-Xmx3000m)。 但是,我似乎无法弄清楚如何在Windows世界中做到这一点。

托pipe在Web应用程序的应用程序池中的CLR将根据需要获取尽可能多的内存,然后根据内存需求使用垃圾收集来释放内存。

您可以限制应用程序池可访问的内存量(在UI中,通过“高级设置”对话框或通过PowerShell和Webpipe理模块)。

您可能需要检查应用程序池上是否已经为内存设置了大写字母,但实际上没有办法将更多的内存直接分配给应用程序池,而无需编辑应用程序运行的.NET版本的machine.config下。

编辑: IIS 7中的内存大小的默认自动configuration是机器RAM的60%。 这可以通过编辑您的应用程序运行的.NET版本的machine.config文件手动增加。 这里的各种configuration设置的细节。