我正在尝试在我的.Net Core应用程序中使用Thread_UseAllCpuGroups。在Web.Config中的设置下,使用Framework时我可以无问题地使用我的3990x处理器上的所有128个CPU,但是在将其移植到.Net Core时,它只使用了64个核心(1组)。
我的项目文件部分有以下几行:
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UseWPF>true</UseWPF>
<TieredCompilation>true</TieredCompilation>
<TieredCompilationQuickJit>false</TieredCompilationQuickJit>
<TieredCompilationQuickJitForLoops>false</TieredCompilationQuickJitForLoops>
<gcServer>true</gcServer>
<gcAllowVeryLargeObjects>true</gcAllowVeryLargeObjects>
<GCHeapAffinitizeRanges>0:1-64,1:1-64</GCHeapAffinitizeRanges>
<Thread_UseAllCpuGroups>true</Thread_UseAllCpuGroups>
<GCCpuGroup>true</GCCpuGroup>
<ServerGarbageCollection>true</ServerGarbageCollection>
</PropertyGroup>
我看到了一些设置环境变量的帖子,但我并不需要在所有项目中使用这个功能,只需要针对特定的项目。查找 .Net Core 和处理器组方面的信息相对较少,而关于使用框架的详细信息(这很完美)却有很多。
我理解的是,这些类型选项从 web.config 的运行时部分移到了项目文件中,但我可能做错了什么。
如果您能提供任何想法来指导我何处出错,我将不胜感激。