gro*_*kky 24 .net c# csproj .net-core asp.net-core
我已经将ASP.NET Core项目升级到VS2017和新的csproj,并且有这个选项:
<PropertyGroup>
<ServerGarbageCollection>true</ServerGarbageCollection>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
什么是服务器垃圾收集?没有适当的文档,只是一个迁移指南,假设您已经知道它是什么.
(除非有正式的文件,在这种情况下,请告诉我.)
简介:遗憾的是,很多基础技术的文档中没有详细信息.然而,@ PanagiotisKanavos的链接在这里有关于"服务器gc"的重要信息.
Chr*_*her 14
它似乎是正常(工作站)和并发(服务器)垃圾收集策略之间的区别.基本上,工作站方法在许多极端情况下遇到问题.大规模的多线程场景(如ASP Webservers)是这种极端情况的主要例子:
请注意,并发GC在弱引用和碎片整理方面存在自然问题,但如果适用于.NET Core实现则超出我所知..NET Core团队可以对代码进行各种改进,这涉及到设计GC内存管理器的领域.
也许它只定义了标记部分将使用多少并发线程(工作站默认为1).它还可能包括一些修改后的内存分配策略,以避免碎片整理等问题.在任何一种情况下,实际的集合本质上都必须运行单线程,暂停所有托管线程,并受内存速度的限制,而不是CPU速度.
小智 7
msdn文档......
https://msdn.microsoft.com/en-us/library/ms229357(v=vs.110).aspx
公共语言运行库(CLR)支持两种类型的垃圾收集:工作站垃圾收集(可在所有系统上使用)和服务器垃圾收集(可在多处理器系统上使用).您可以使用该元素来控制CLR执行的垃圾回收类型.使用GCSettings.IsServerGC属性确定是否启用了服务器垃圾回收.对于单处理器计算机,默认工作站垃圾回收应该是最快的选择.工作站或服务器都可用于双处理器计算机.服务器垃圾收集应该是两个以上处理器的最快选择.该元素只能在应用程序配置文件中使用; 如果它在机器配置文件中,则忽略它.
当进行迁移的,在ServerGarbageCollection从地图System.GC.Server.
<PropertyGroup>
<ServerGarbageCollection>true</ServerGarbageCollection>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
什么是服务器垃圾收集?
简单地说,它是一个配置值,指示.net运行时执行服务器垃圾回收.从历史上看,这是由管理project.json.它启用/禁用服务器垃圾回收.
这是一个接近你将要找到的官方文档,它是一个关于添加此选项的公告project.json.
https://github.com/aspnet/Announcements/issues/175
同样,这里有更多细节:
| 归档时间: |
|
| 查看次数: |
14252 次 |
| 最近记录: |