net core响应时间超时的配置(netcore 开启内存释放)

技术.NET Core 配置对GC工作模式与内存的影响是什么这篇文章将为大家详细讲解有关.NET Core 配置对GC工作模式与内存的影响是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相

本文将详细解释。NET核心配置对垃圾收集工作模式和内存。这篇文章的内容质量很高,所以边肖会分享给大家参考。希望你看完这篇文章后有所了解。

00-1010默认情况下,ASP.NET Core程序在K8s的Docker中运行,内存利用率=600MB,这导致Docker容器频繁重启。设定组态系统的实验。ASP.NET核心项目服务器为假,内存小于=150MB的讨论和做。

主要说说什么是系统。服务器和两种垃圾收集模式。

引出问题: Asp.net core应用在 Kubernetes上内存使用率过高问题分析

复制

服务器GC/工作站GC

对GC工作模式的分类: .NET Core 两种GC模式:

主要用于多处理器系统,是ASP.NET Core主机的默认配置。它为每个处理器创建一个垃圾收集堆,并并行执行回收操作。这种模式的GC可以最大化吞吐量和更好的收缩。这种模式的特点是初始分配的内存大,内存没有尽可能回收,回收和整理内存需要很长时间。

00-1010主要用于单处理器系统,Workstation GC可以通过尽可能减少垃圾收集时程序暂停的次数来提高性能。具有低负载和不频繁后台任务(如服务)的应用程序可以在禁用并发垃圾收集的情况下使用工作站垃圾收集。特点是频繁回收,防止较长时间的回收。

Server GC :

是GC的一种工作模式。如果您是单处理器机器,即使“并发”选项配置为“真”,它也不会生效。服务器垃圾回收和工作站垃圾回收都可以打开并发垃圾回收,在垃圾回收过程中,用户线程可以大部分时间并发运行。但只能影响第二代对象的GC进程,因为0代和1代的时间太短。

00-1010 ASP.NET核心项目,GC模式由系统设置。GC.Server配置,创建项目的默认GC模式为: system.gc.server3360 true(服务器GC并发模式),为每个CPU分配GC;System.gc.server: false(工作站gc并发模式),Concurrent=1。

Workstation GC :

GC堆存储0、1、2代对象时,对系统应用的基本单位是Segment,系统会分配指定值的Segment来存储对象。GC将根据程序的实际执行情况动态调整这些值。因为有了Segment的概念,内存碎片问题再次出现,所以GC会在垃圾收集过程中组织内存,减少内存碎片,提高内存利用率。

段的大小取决于系统是32位还是64位,以及它运行的垃圾收集器的类型。下表列出了系统在分配过程中使用的默认值:

Gc32位64位工作站gc16mb256mb服务器gc64mb4gb服务器Gc带4个逻辑CPU s32mb2gb服务器gc带8个逻辑CPU s16mb1gb段包含第二代对象,将尽可能申请内存,并使用多个段进行内存存储。

从垃圾收集释放的内存量受限于段的大小。但是,由于Segment是按动态大小分配的,因此在发布后会占用大量内存,从而导致内存利用率低。如前所述,为了解决这个问题,GC应该整理内存碎片并中断所有线程的处理。

p>

.NET Core GC的几种配置模式:

Concurrent & Workstation GC

    
  
  
  

Copy

<ServerGarbageCollection>false</ServerGarbageCollection>
<ConcurrentGarbageCollection>true</ConcurrentGarbageCollection>

特点:在吞吐量和相应速度上寻找平衡点, GC Heap数量为1,GC threads在分配空间的线程,GC线程优先权和工作线程具有相同的优先权,工作线程(非GC线程)会因为GC工作过程中短暂多次挂起。

Background & Workstation GC

    
  
  
  

Copy

<ServerGarbageCollection>false</ServerGarbageCollection>
<ConcurrentGarbageCollection>false</ConcurrentGarbageCollection>

特点:最大化吞吐量并优化gen2 GC性能, GC Heap数量为1,background GC线程与工作线程有相同优先级,但都低于前台GC线程 ,工作线程(非GC线程)会因为GC工作过程中短暂多次挂起,较并发性能更加(针对Gen2的)。

Concurrent & Server GC

    
  
  
  

Copy

<ServerGarbageCollection>true</ServerGarbageCollection>
<ConcurrentGarbageCollection>true</ConcurrentGarbageCollection>

特点:多处理器机器上使用多线程处理相同类型的请求以便最大化服务程序吞吐量, GC Heap数量为每处理器1个,每个处理器都有一个专职的GC线程,GC线程拥有最高线程的优先级,工作线程(非GC线程)会因为GC工作过程中会被挂起。

Background & Server GC

    
  
  
  

Copy

<ServerGarbageCollection>true</ServerGarbageCollection>
<ConcurrentGarbageCollection>false</ConcurrentGarbageCollection>

特点:在Concurrent & Server GC基础上优化gen2 GC性能, GC Heap数量为每处理器1个,每个处理器都有一个专职的GC background线程,background GC线程与工作线程有相同优先级,但都低于前台GC线程,工作线程(非GC线程)会因为GC工作过程中短暂多次挂起,较并发性能更加(针对Gen2的)
ephemeral generation的前台GC工作时会挂起其他所有线程。

关于.NET Core 配置对GC工作模式与内存的影响是什么就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/147383.html

(0)

相关推荐

  • Cenos7 yum如何安装mongodb以及启动错误的解决办法是什么

    技术Cenos7 yum如何安装mongodb以及启动错误的解决办法是什么Cenos7 yum如何安装mongodb以及启动错误的解决办法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,

    攻略 2021年11月3日
  • ,转载)ffmpe---实现将视频存储为图片jpg

    技术,转载)ffmpe---实现将视频存储为图片jpg (转载)ffmpe---实现将视频存储为图片jpg原文出自:https://images1.tqwba.com/20211201/xuqcjtf4

    礼包 2021年12月1日
  • keep it up许慧欣(keepitmac官网)

    技术Keep It for Mac专业笔记工具怎么用本篇文章为大家展示了Keep It for Mac专业笔记工具怎么用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Mac笔记办

    攻略 2021年12月24日
  • xss漏洞工具xsser怎么用

    技术xss漏洞工具xsser怎么用这期内容当中小编将会给大家带来有关xss漏洞工具xsser怎么用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。今天给大家介绍一款xss漏洞利用工具:x

    攻略 2021年12月9日
  • word怎么看字数,没有word,怎样查文章字数

    技术word怎么看字数,没有word,怎样查文章字数安装一个UltraEdit之类的文本编辑工具,这类的软件可以被看作是记事本的加强版,但可以拥有比记事本更强得功能。比如你的问题,用UltraEdit统计字数的话,可以使

    生活 2021年10月26日
  • 怎么用Spring MVC创建Web应用

    技术怎么用Spring MVC创建Web应用这篇文章给大家分享的是有关怎么用Spring MVC创建Web应用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。为了把Spring MVC运用到We

    攻略 2021年11月23日