B
Buddy Home
Hello,
We have a system that is written in Framework 1.0 and runs under Framework
1.0. It uses the CLR Workstation to load the application. Framework 1.0
would require us to write unmanaged code to launch the application under CLR
Server.
My understanding is that if the application is launched by CLR Workstation
then we have only one thread for the GC throughout the application on a
server that has multiple CPU's, whereas if the application was running
within the CLR Server then we would have a GC thread per CPU. This would
increase the performance of the application.
I understand that in Framework 1.1 SP1 and greater you can add a config
setting to use the ServerGC but due to us still runing framework 1.0 this
option is not available.
Basically this whats happening.
1. The garbage collection does collect the memory but sometimes allows the
memory to grow and suddenly we might get an OutOfMemoryException because
it's left it late to collect the memory.
2. When the memory of the process exceeds 800MB and more we notice the
performance of the whole application degrades.
Please note we are planning to upgrade to Framework 2.0 but in the mean time
just wanted to know if my understanding was correct.
Thanks,
We have a system that is written in Framework 1.0 and runs under Framework
1.0. It uses the CLR Workstation to load the application. Framework 1.0
would require us to write unmanaged code to launch the application under CLR
Server.
My understanding is that if the application is launched by CLR Workstation
then we have only one thread for the GC throughout the application on a
server that has multiple CPU's, whereas if the application was running
within the CLR Server then we would have a GC thread per CPU. This would
increase the performance of the application.
I understand that in Framework 1.1 SP1 and greater you can add a config
setting to use the ServerGC but due to us still runing framework 1.0 this
option is not available.
Basically this whats happening.
1. The garbage collection does collect the memory but sometimes allows the
memory to grow and suddenly we might get an OutOfMemoryException because
it's left it late to collect the memory.
2. When the memory of the process exceeds 800MB and more we notice the
performance of the whole application degrades.
Please note we are planning to upgrade to Framework 2.0 but in the mean time
just wanted to know if my understanding was correct.
Thanks,