Groups | Blog | Home
all groups > dotnet performance > april 2004 >

dotnet performance : MSCORWKS loaded instead of MSCORSVR on MP-Machine


Daniel Karlsson
4/30/2004 1:35:47 AM
Hello,

I've deployed a service hosting some classes for remoting. It's a
NT-Service and it runs on a dual-processor win2003 server.

Using the Process explorer It's quite obvious that the runtime loads the
MSCORWKS instead of the MSCORSVR. Shouldn't the runtime load the
server-version on a multi-cpu machine?

Please don't tell me to use the COMPLUS_BUILDFLAVOR directive since it's
not supported!

I'd like a 100% supported and perfered way of getting the server-runtime
going. And I dont want to create my own host using unmanaged code
eather!

Please advice, I've read alot regarding this on usenet but I haven't
seen a good solution yet

Sincerely,
Daniel Karlsson

*** Sent via Developersdex http://www.developersdex.com ***
clyon NO[at]SPAM online.microsoft.com (
4/30/2004 5:56:56 PM
Hi Daniel

No, there is no supported way with v1.0 or v1.1 to specify server GC mode without an unmanaged host.

With Whidbey (v2.0) and v1.1 SP1 (due out this summer) there will be the ability to specify the gc mode in the application's config file.

Hope that helps
-Chris

--------------------
[quoted text, click to view]


--

This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm

Note: For the benefit of the community-at-large, all responses to this message are best directed to the newsgroup/thread from which they originated.
Josh
4/30/2004 9:32:52 PM

This article might help you out a bit:

http://www.codeproject.com/useritems/TCPRemotingHostServerGC.asp


[quoted text, click to view]
cpmsftngxa10.phx.gbl!TK2MSFTNGXA05.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msftngp13
..phx.gbl
[quoted text, click to view]
message are best directed to the newsgroup/thread from which they
originated.
[quoted text, click to view]

Daniel Karlsson
5/1/2004 9:02:25 AM
First of all, thanks for your quick and accurate answer!

Now, is there any info about SP1 and the contents of it? Perhaps a
beta-program? I'm a MSDN-universal subscriber

Sincerely,
Daniel Karlsson

*** Sent via Developersdex http://www.developersdex.com ***
Vikram
5/1/2004 12:31:09 PM
Ya.
Even I am curious. Is there some info on what SP1 will fix ?

Vikram

[quoted text, click to view]

Matt Davey
5/1/2004 11:27:09 PM
1.1 and .NET 2.0 will allow the GC to be specified via a config setting,
which is not currently possible. Example of the 1.0/1.1 bug would be
running a server .NET app on a 16 CPU Windows DataCenter OS. The WKS GC
would be used today, whereas in reality the SVR GC should be selected

Later
http://weblogs.asp.net/mdavey/


[quoted text, click to view]

clyon NO[at]SPAM online.microsoft.com (
5/3/2004 5:18:09 PM
Hi Matt

This behaviour is actually *by design*, not a bug. v2.0 and v1.1 SP1 will not "fix" this bug, rather add the functionality you described below. The only supported way to specify
Server GC is by hosting the runtime.

If you could point me to any official documentation that says Server GC should be automatically selected on MP machines, I'll make sure to have it changed.

Thanks!
-Chris

--------------------
[quoted text, click to view]


--

This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm

Note: For the benefit of the community-at-large, all responses to this message are best directed to the newsgroup/thread from which they originated.
Matt Davey
5/3/2004 7:05:01 PM
By bug I mean, I view it as a bug :) Sorry for the confusion, but it is
kinda mad if U run a .NET windows service on a 16 CPU machines, that the WKS
GC is used and not the SVR GC

Later

[quoted text, click to view]
not "fix" this bug, rather add the functionality you described below. The
only supported way to specify
[quoted text, click to view]
should be automatically selected on MP machines, I'll make sure to have it
changed.
[quoted text, click to view]
<u86HzW5LEHA.2584@TK2MSFTNGP12.phx.gbl>
<#kMg8p6LEHA.556@TK2MSFTNGP10.phx.gbl>
[quoted text, click to view]
cpmsftngxa10.phx.gbl!TK2MSFTNGXA05.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP09
..phx.gbl
[quoted text, click to view]
message are best directed to the newsgroup/thread from which they
originated.
[quoted text, click to view]

Ice
5/4/2004 9:29:51 AM
what do you mean by "its not supported"?

ice
[quoted text, click to view]

Daniel Karlsson
5/4/2004 11:29:40 PM
I've read that the COMPLUS_BUILDFLAVOR is a unsupported way of getting
the server-runtime and I refuse to use it because of that =P

Since our production system is a multi-server webfarm that is
mission-critical for our customers I can't rely on unsupported features!

*** Sent via Developersdex http://www.developersdex.com ***
Ice
5/5/2004 8:55:54 PM
So in essence you are saying that running the server gc is unsupported?
Bottomline is that it loads the proper assembly - I think MSFT doesn't want
that to be the way we accomplish it, but it works.

And yes, I do have a mission-critical app :)

ice
[quoted text, click to view]

clyon NO[at]SPAM online.microsoft.com (
5/14/2004 5:49:08 PM
Hi Ice

Running Server GC is indeed a supported scenario, as long as it's done via supported means (by not supported, I mean, the behaviour of complus_buildflavor is not
guaranteed to remain constant between versions of the runtime, nor will MS support issue a fix for bugs in server GC specified via that setting).

The only way Microsoft-supported way to specify Server GC with v1.0 and v1.1 is by hosting the runtime (see http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/dndotnet/html/dotnetperftechs.asp)

If you have a mission-critical application that you feel requires Server GC, you will have to host the runtime. As I said earlier, this behaviour will change in v2.0 and v1.1 SP1.

Hope that helps
-Chris


--------------------
[quoted text, click to view]


--

This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm

Note: For the benefit of the community-at-large, all responses to this message are best directed to the newsgroup/thread from which they originated.
Ice
5/17/2004 9:07:41 AM
Quite understood. I just don't know how else I could do this when my
component are hosted in COM+ i.e. dllhost. Any suggestions?

If I don't it this way, then there is no way to get the behavior I'm looking
for.

ice
[quoted text, click to view]
supported means (by not supported, I mean, the behaviour of
complus_buildflavor is not
[quoted text, click to view]
v1.1 is by hosting the runtime (see
http://msdn.microsoft.com/library/default.asp?url=/library/en-
[quoted text, click to view]
GC, you will have to host the runtime. As I said earlier, this behaviour
will change in v2.0 and v1.1 SP1.
[quoted text, click to view]
cpmsftngxa10.phx.gbl!TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP11
..phx.gbl
[quoted text, click to view]
message are best directed to the newsgroup/thread from which they
originated.
[quoted text, click to view]

Mike Blake-Knox
7/22/2004 10:17:53 AM
[quoted text, click to view]

Did you really mean to say that using the Garbage Collection Mode application property in the .NET Framework
Configuration .msc isn't supported? Or that it doesn't work?

Thanks

Mike
clyon NO[at]SPAM online.microsoft.com (
7/23/2004 5:11:17 PM
Hi Mike

In the configuration .msc, you can specify whether the GC is to use Concurrent GC or non-concurrent (the default). Server GC can only be specified by hosting.

Concurrent GC does full (Generation 2) collections on a seperate thread without blocking the other GC thread (for mark phase). This is useful for GUI apps, since it means a
more responsive GC. There are a few caveats to Concurrent:
-it only works on a multi-proc machine
-it is disabled if server GC is specified (through hosting)

-Chris


--------------------
[quoted text, click to view]


--

This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm

Note: For the benefit of the community-at-large, all responses to this message are best directed to the newsgroup/thread from which they originated.
AddThis Social Bookmark Button