如何确定启用 gcServer 配置是否生效?

G33*_*una 4 asp.net garbage-collection

我支持在 .NET 2.0 SP1 上运行的四核 8G 机器上安装在 Windows 2003 SP3 Enterprise 上的 ASP.NET v2.0 应用程序。

  1. 在启用配置之前,运行“tasklist /m mscorwks.dll”
    Image Name PID Modules
    w3wp.exe 7888 mscorwks.dll

  2. 在 web.config 部分下添加

  3. 运行 IISRESET,也重新启动了服务器

  4. 运行“tasklist /m mscorsvr.dll”
    信息:没有运行符合指定条件的任务。

  5. 运行“tasklist /m mscorwks.dll”
    图像名称PID模块
    w3wp.exe 6251 mscorwks.dll

好像 gcServer 没有生效。是否需要任何其他设置/配置才能使其正常工作?

Chr*_*n.K 5

更新:抱歉,刚刚看到下面的链接,因此可能是整个信息,适用于 IIS 6.0。我不知道这是否适用于您的环境。

我不相信您可以在每个 AppDomain 的基础上配置任何 GC 设置,这本质上是您仅在 web.config 文件中设置它时会发生的情况,因此在每个应用程序的基础上。

您需要在 aspnet.config 文件中进行设置。Aspnet.config 文件与 Aspnet_isapi.dll 文件位于同一目录中(有关详细信息,请查看文件)。

编辑:要找出正在使用的 GC,您可以使用WinDBG/SOS 和 eeversion命令:

0:010> !eeversion
2.0.50727.3082 retail
Workstation mode
SOS Version: 2.0.50727.3053 retail build
Run Code Online (Sandbox Code Playgroud)