Microsoft KB Archive/840523

= Performance is poor when you run a non-interactive .NET Windows server application on a multiprocessor computer =

Article ID: 840523

Article Last Modified on 9/8/2005

-

APPLIES TO


 * Microsoft .NET Framework 1.1

-



SYMPTOMS
Performance is poor when you run a non-interactive Microsoft .NET Windows server application, such as a Windows service or a remoting service, on a multiprocessor computer. If available memory is low, you may receive a System.OutOfMemoryException exception. Additionally, the computer may stop responding, or you may receive the following error message:

Server Application Unavailable



CAUSE
By default, non-interactive .NET Windows server applications on multiprocessor computers run the garbage collector in Workstation mode. Additionally, when the garbage collector runs in Workstation mode, the concurrent mode of the garbage collector is set to true. The concurrent mode of garbage collector is optimized for interactive Windows applications. For the interactive applications, the concurrent mode decreases the pause-time at the expense of the working set and the throughput. Also, Workstation mode of the garbage collector is optimized for interactive applications.



RESOLUTION
To resolve this problem, run the garbage collector in Server mode. In Server mode, the garbage collector is optimized for services and for non-interactive applications. To run the garbage collector in Server mode, add the following code after the  element in the configuration file of the .NET Windows server applications: 



STATUS
This behavior is by design.

