When you host Web applications that uses ASP.NET on Windows Server 2003, you may experience decreased performance. This behavior may occur when you host the Web applications in multiple application pools on a multi-processor computer.

You may also experience any of the following when available memory is low:

- You receive System.OutOfMemoryException exceptions.

- When you open an ASP.NET page, you receive Server Application Unavailable.

- Your server hangs.

This behavior occurs because the .NET Framework CLR (Common Language Runtime) uses the Server garbage collector on a multi-processor computer, which creates one heap per processor, consuming lots of memory.

To workaround this behavior, configure the CLR to use the Workstation garbage collector:

1. Open the Aspnet.config file in Notepad.exe. The file is located at %SystemRoot%\Microsoft.NET\Framework\v2.0.50727\Aspnet.config for .NET Framework 2.0 and at %SystemRoot%\Microsoft.NET\Framework\v1.1.4322\Aspnet.config for .NET Framework 1.1.

2. In the <runtine> section, add <gcServer enabled="false"/>.

3. Save the Aspnet.config file.