Microsoft Knowledge Base Article
This article contents is Microsoft Copyrighted material.
©2005-©2007 Microsoft Corporation. All rights reserved.
Terms
of Use |
Trademarks
Article ID: 911716 - Last Review: December 3, 2007 - Revision: 1.5
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
SYMPTOMS
When 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:
- You may receive exceptions of type
System.OutOfMemoryException.
- You may receive the following error message when you try to
open an ASP.NET Web page:
Server Application
Unavailable
- The computer may stop responding.
CAUSE
These 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.
WORKAROUND
To 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:
<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.
MORE INFORMATION
For more information about performance considerations in the
.NET Framework, visit the following Microsoft Developer Network (MSDN) Web
site:
APPLIES TO
- Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
- Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
- Microsoft Windows Server 2003, Standard Edition (32-bit x86)
- Microsoft Windows Server 2003, Web Edition
- Microsoft .NET Framework 2.0
- Microsoft ASP.NET 2.0
- Microsoft .NET Framework 1.1
- Microsoft ASP.NET 1.1
Community Feedback System
Very often, it takes hours to solve a problem. Very often, you've looked high
and low, and have tried a lot of solutions. When you finally found it, chances
are, it was because someone else helped you. Here's your chance to give back.
Use our community feedback tool to let others know what worked for you and what
didn't.
Please also understand that the community feedback system is not warranted to be
correct, it's simply a system that we've built to let people try and help each
other. If something in a feedback response doesn't make sense to you, or you're
not comfortable making changes that the feedback talks about (like registry
edits), please consult a professional.
Thank you for using kbAlertz.com Feedback System.
-- Scott Cate
Be the first to leave feedback, to help others about this knowledge base
article.
(Optional) Name
(Optional)
Public URL Or Email
Comments
No
HTML -- Text Only Please