Azure 应用服务上的服务器垃圾收集
Server Garbage Collection on Azure App Service
是否可以在 Azure 应用服务上使用 Server Garbage Collection?
我在web.config
(D:\home\site\wwwroot\web.config)中设置了gcServer
如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<gcServer enabled="true" />
</runtime>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath=".\MyApplication.exe" arguments="" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" />
</system.webServer>
</configuration>
但是GCSettings.IsServerGC
仍然returns错误。
根据this,可以看到备注:
If server garbage collection is not enabled, workstation garbage collection is in effect (with or without concurrent collection). Server garbage collection is available only on multiprocessor computers.
默认情况下,如果您的网络应用程序服务计划是多处理器的,如 B2、S2,它将自动启用 gcServer。
但是如果你的web app服务计划是B1,S1,它只有一个核心,它会启用工作站。
这是测试示例:
我有一个包含以下代码的页面:
string result;
if (GCSettings.IsServerGC == true)
result = "server";
else
result = "workstation";
Response.Write(result);
然后我将 Web 应用程序发布到不同的应用程序服务计划。(B1,B2)
结果如下:
是否可以在 Azure 应用服务上使用 Server Garbage Collection?
我在web.config
(D:\home\site\wwwroot\web.config)中设置了gcServer
如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<gcServer enabled="true" />
</runtime>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath=".\MyApplication.exe" arguments="" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" />
</system.webServer>
</configuration>
但是GCSettings.IsServerGC
仍然returns错误。
根据this,可以看到备注:
If server garbage collection is not enabled, workstation garbage collection is in effect (with or without concurrent collection). Server garbage collection is available only on multiprocessor computers.
默认情况下,如果您的网络应用程序服务计划是多处理器的,如 B2、S2,它将自动启用 gcServer。
但是如果你的web app服务计划是B1,S1,它只有一个核心,它会启用工作站。
这是测试示例:
我有一个包含以下代码的页面:
string result;
if (GCSettings.IsServerGC == true)
result = "server";
else
result = "workstation";
Response.Write(result);
然后我将 Web 应用程序发布到不同的应用程序服务计划。(B1,B2)
结果如下: