You may receive an error message, or the computer may stop responding, when you host Web applications that use ASP.NET on a computer that is running Windows Server 2003 (911716)
The information in this article applies to:
- Microsoft Windows Server 2003, Datacenter Edition
- Microsoft Windows Server 2003, Enterprise Edition
- Microsoft Windows Server 2003, Standard Edition
- Microsoft Windows Server 2003, Web Edition
- Microsoft .NET Framework 2.0
- Microsoft ASP.NET 2.0
- Microsoft .NET Framework 1.1
- Microsoft ASP.NET (included with the .NET Framework 1.1)
SYMPTOMSWhen you host Web applications that use Microsoft ASP.NET on a computer that is running
Microsoft Windows Server 2003, you may experience decreased performance. This issue may occur when you host the Web applications in
multiple application pools on a multiprocessor computer. Additionally, you may experience one or more of the following
issues
when available memory is low:
CAUSEThese issues occur because the Microsoft .NET Framework common
language runtime (CLR) uses the Server garbage collector (GC) on multiprocessor
computers. This is the default behavior. The Server garbage collector is optimized for scalable throughput on
multiprocessor computers. To reduce contention and to improve garbage collector performance on multiprocessor
computers, the Server garbage collector creates one heap per processor for parallel
collections. Therefore, the Server garbage collector
consumes lots of memory when you host multiple ASP.NET worker processes. This behavior may cause the issues that are
described in the "Symptoms" section.WORKAROUNDTo work around these issues, configure the .NET Framework common
language runtime to use the
Workstation garbage collector. The Workstation garbage collector is optimized to reduce garbage collector pause times
for interactive applications. Additionally, the Workstation garbage collector creates only one
heap. Therefore, the Workstation garbage collector uses less memory when you run applications on multiprocessor
computers. To configure the .NET Framework common
language runtime to use the
Workstation garbage collector, add the
following code after the <runtime> element in the Aspnet.config file. The Aspnet.config file is located in one of the following folders: - If you are running
the Microsoft .NET Framework 2.0:
%WINDIR%\Microsoft.NET\Framework\v2.0.50727 - If you are running
the Microsoft .NET Framework 1.1:
%WINDIR%\Microsoft.NET\Framework\v1.1.4322
<configuration>
<runtime>
<gcServer enabled="false"/>
</runtime>
</configuration>
Note The Workstation garbage collector is optimized for low latency. Low latency is
typically required for client applications. However, low latency may cause decreased
throughput after you configure the .NET Framework common
language runtime to use the
Workstation garbage collector. STATUS This
behavior is by design.
Modification Type: | Major | Last Reviewed: | 1/23/2006 |
---|
Keywords: | kbtshoot kbprb KB911716 kbAudDeveloper kbAudITPRO |
---|
|