开发者

How do I find out whether enabling gcServer config is taking effect?

I'm supporting a ASP.NET v2.0 app installed on a Windows 2003 SP3 Enterprise on a quad core 8G machine running on .NET 2.0 SP1.

  1. before e开发者_JS百科nabling the config, ran "tasklist /m mscorwks.dll"

    Image Name PID Modules

    w3wp.exe 7888 mscorwks.dll

  2. add under section in web.config

  3. ran IISRESET, rebooted server too

  4. ran "tasklist /m mscorsvr.dll"

    INFO: No tasks are running which match the specified criteria.

  5. ran "tasklist /m mscorwks.dll"

    Image Name PID Modules

    w3wp.exe 6251 mscorwks.dll

It seems like gcServer is not taking effect. Are there any additional settings/ configurations necessary to get it working?


Update: Sorry, just saw that the link below, and thus maybe the whole information, applies to IIS 6.0. I don't know whether that is applicable to your environment.

I don't believe you can configure any GC setting on a per AppDomain basis, which is essentially what would happen when you only set it in a web.config file, thus on a per application basis.

You need to set this in the aspnet.config file. The Aspnet.config file is in the same directory as the Aspnet_isapi.dll file (check this for more information).

Edit: To figure out the GC in use, you can use WinDBG/SOS and the eeversion command:

0:010> !eeversion
2.0.50727.3082 retail
Workstation mode
SOS Version: 2.0.50727.3053 retail build


See this MSDN link, where Chapter 5 had the answer. Quote from Chapter 5:

Note: At the time of this writing, the .NET Framework 2.0 (code-named "Whidbey") includes both GCs inside Mscorwks.dll, and Mscorsvr.dll no longer exists.

I guess there is no way to check whether the server GC is working. EDIT: but see Christian's answer.


From code you can use GCSettings.IsServerGC.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜