c# – 什么是ASP.NET Core中的服务器垃圾收集?
我已将ASP.NET Core项目升级到VS2017和新的csproj,并且有以下选项:
<PropertyGroup> <ServerGarbageCollection>true</ServerGarbageCollection> </PropertyGroup> 什么是服务器垃圾收集?没有适当的文件,只是一个migration guide,假设你已经知道它是什么. (除非有正式文件,否则请让我知道.) 总结:遗憾的是,文档中没有关于大量基础技术的详细信息.不过,@ PanagiotisKanavos的链接对于“server gc”here来说非常重要. 解决方法
似乎是正常(工作站)和并发(服务器)垃圾收集策略之间的区别.基本上,工作站方法在许多极端情况下遇到问题.而且大量的多线程方案(如ASP Webservers)是极端情况的主要例子:
https://social.msdn.microsoft.com/Forums/en-US/286d8c7f-87ca-46b9-9608-2b559d7dc79f/garbage-collection-pros-and-limits?forum=csharpgeneral 请注意,并发GC具有弱引用和碎片整理的自然问题,但如果适用于.NET Core实现超出了我的知识范围. .NET核心团队可以对代码进行各种改进,并进入设计GC内存管理器的领域. 也许它只定义了标记部分将使用多少个并发线程(工作站默认值为1).它还可能包括一些修改的内存分配策略,以避免诸如碎片整理之类的问题.在任何一种情况下,实现集合本质上都必须运行单线程,停止所有被管理的线程,并将受到内存速度而不是CPU速度的限制. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |