日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

asp.net core服務(wù)限制堆內(nèi)存大小的操作方法

瀏覽:487日期:2022-06-08 18:04:38
目錄
  • 前言
  • 1、asp.net core是什么
  • 2、限制其堆內(nèi)存最大大小
    • 2.1 設(shè)置.NET 運行時的配置
    • 2.2 在項目中創(chuàng)建runtimeconfig.json配置文件
    • 2.2 限制堆的大小
  • 3、測試配置是否生效
    • 4、在docker容器中限制堆內(nèi)存大小

      前言

      在我們眾多的微服務(wù)項目中,都有限制其堆內(nèi)存大小的需求,以免占用宿主機內(nèi)存過高。

      在java中我們可以通過jvm參數(shù)來很好的控制堆內(nèi)存以及其他參數(shù)。

      但是在asp.net core的web服務(wù)中,我們該如何去限制堆內(nèi)存大小呢?

      提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

      1、asp.net core是什么

      微軟旗下支持跨平臺的開發(fā)框架,與springboot思想類似,支持ioc等,可以快速的開發(fā)web api等項目
      官方文檔:https://learn.microsoft.com/zh-cn/aspnet/core/introduction-to-aspnet-core?view=aspnetcore-6.0

      2、限制其堆內(nèi)存最大大小

      建議熟讀官方文檔:https://learn.microsoft.com/zh-cn/dotnet/core/runtime-config/

      2.1 設(shè)置.NET 運行時的配置

      官網(wǎng)文檔:https://learn.microsoft.com/zh-cn/dotnet/core/runtime-config/#runtimeconfigjson

      .NET 提供了以下機制用于配置 .NET 運行時的行為:

      • runtimeconfig.json 文件
      • MSBuild 屬性
      • 環(huán)境變量

      通過使用環(huán)境變量來配置某個選項會將設(shè)置應(yīng)用于所有的 .NET 應(yīng)用。 在 runtimeconfig.json 或項目文件中配置某個選項則只會將設(shè)置應(yīng)用于該應(yīng)用程序。

      選擇 runtimeconfig.json文件作為.net運行時的配置文件。

      2.2 在項目中創(chuàng)建runtimeconfig.json配置文件

      構(gòu)建項目時,將在打包的輸出目錄中生成 [appname].runtimeconfig.json 文件。

      如果項目文件所在的文件夾中存在 runtimeconfig.template.json 文件,它包含的任何配置選項都將插入到 [appname].runtimeconfig.json 文件中。

      如果自行構(gòu)建應(yīng)用,請將所有配置選項放在 runtimeconfig.template.json 文件中。 如果只是運行應(yīng)用,請將其直接插入 [appname].runtimeconfig.template.json 文件中。

      2.2 限制堆的大小

      • 指定 GC 堆和 GC 簿記的最大提交大小(以字節(jié)為單位)。
      • 此設(shè)置僅適用于 64 位計算機。
      • 如果已配置每對象堆限制,則忽略此設(shè)置。
      • 默認(rèn)值(僅在某些情況下適用)是 20 MB 或容器內(nèi)存限制的 75%(以較大者為準(zhǔn))。 此默認(rèn)值在以下情況下適用:
      • 進(jìn)程正在具有指定內(nèi)存限制的容器中運行。
      • HeapHardLimitPercent 未設(shè)置。

      示例:限制堆內(nèi)存最大為1G

      {    "configProperties": {      "System.GC.HeapHardLimit": 1073741824    }}

      3、測試配置是否生效

      測試控制器:

      [Route("api/[controller]/[action]")][ApiController]public class TestController : ControllerBase{    [HttpGet]    public void testMemory()    {List<byte[]> bytesList = new List<byte[]>();while (true){    Console.ReadKey();    // 100m    for (int i = 0; i < 100; i++)    {// 1mbbyte[] bytes = new byte[1024 * 1024];bytesList.Add(bytes);    }    Console.WriteLine("當(dāng)前堆內(nèi)存大小 -- " + GC.GetTotalMemory(false) / 1024 / 1024.0 + " MB");}    }}

      結(jié)果,可見配置生效,達(dá)到1g時報錯 System.OutOfMemoryException,然后系統(tǒng)強行g(shù)c,服務(wù)down,配置docker-compose的自動重啟即可完成gc后自動重啟

      當(dāng)前堆內(nèi)存大小 -- 102.0029296875 MB當(dāng)前堆內(nèi)存大小 -- 202.013671875 MB當(dāng)前堆內(nèi)存大小 -- 302.0166015625 MB當(dāng)前堆內(nèi)存大小 -- 402.0126953125 MB當(dāng)前堆內(nèi)存大小 -- 502.0166015625 MB當(dāng)前堆內(nèi)存大小 -- 602.02734375 MB當(dāng)前堆內(nèi)存大小 -- 702.044921875 MB當(dāng)前堆內(nèi)存大小 -- 802.046875 MB當(dāng)前堆內(nèi)存大小 -- 902.0498046875 MBinfo: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[2]      Executed action office_conver_server.Controllers.TestController.testMemory (office-conver-server) in 5924.7612msinfo: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]      Executed endpoint "office_conver_server.Controllers.TestController.testMemory (office-conver-server)"fail: Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[1]      An unhandled exception has occurred while executing the request.      System.OutOfMemoryException: Exception of type "System.OutOfMemoryException" was thrown. at office_conver_server.Controllers.TestController.testMemory() in D:\BaiduSyncdisk\項目目錄\ItemProjects\dotnet\office-conver-server\Controllers\TestController.cs:line 49 at Microsoft.Extensions.Internal.ObjectMethodExecutor.<>c__DisplayClass33_0.<WrapVoidMethod>b__0(Object target, Object[] parameters) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.VoidResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync() at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()      --- End of stack trace from previous location --- at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()      --- End of stack trace from previous location --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker) at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger) at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context) at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext) at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider) at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)

      4、在docker容器中限制堆內(nèi)存大小

      可以采用上述配置,但是缺點就是不靈活,需要頻繁更新代碼,更新容器。。。

      添加容器環(huán)境變量DOTNET_GCHeapHardLimit: "value"
      注意value是十六進(jìn)制

      version: "3"services:  officeConverServer:    image: l-4.1-office-conver-server:test    ports:      - 8079:80    volumes:      - ./uploadFile:/uploadFile      #- ./office-conver-server.runtimeconfig.json:/app/office-conver-server.runtimeconfig.json      - ./appsettings.json:/app/appsettings.json    environment:      # 堆內(nèi)存最大限制【十六進(jìn)制】      DOTNET_GCHeapHardLimit: "40000000"      TZ: Asia/Shanghai   # deploy:     #  resources:      #   limits:       #    memory: 1G    restart: always    security_opt:      - seccomp:unconfined

      到此這篇關(guān)于asp.net core服務(wù)限制堆內(nèi)存大小的文章就介紹到這了,更多相關(guān)asp.net core堆內(nèi)存大小內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

      標(biāo)簽: ASP.NET
      日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
      欧美激情福利| 国产欧美日韩在线一区二区| 日韩黄色av| 欧美日韩中文一区二区| 欧美国产极品| 免费观看亚洲天堂| 欧美日韩一视频区二区| 中文无码日韩欧| 亚洲精品免费观看| 亚洲三区欧美一区国产二区| 亚洲欧美网站在线观看| 亚洲精品极品少妇16p| 亚洲国产一区二区三区在线播放| 黄色在线网站噜噜噜| 丰满少妇一区| 国产欧美日本| 在线天堂资源www在线污| 91欧美国产| 国内精品福利| 精品精品99| 久久精品官网| 日本伊人久久| 久久高清精品| 欧美一级二区| 亚州精品视频| 欧美精品不卡| 欧美一级专区| 在线国产日韩| 亚洲美洲欧洲综合国产一区| 久久久国产精品一区二区中文| 国产精品一区二区三区www | 日韩一区二区三区免费视频| 婷婷成人综合| 亚洲三级毛片| 久久亚洲国产| 欧美日韩激情| 亚洲午夜在线| 精品福利久久久| 日韩制服丝袜av| 婷婷综合亚洲| 亚洲黄色在线| 精品无人区麻豆乱码久久久| 亚洲国内精品| 亚洲3区在线| 日韩成人精品一区二区三区| 日韩精品一区二区三区中文在线 | 久久亚洲国产| 日韩成人av影视| 精品三区视频| 中文欧美日韩| 久久gogo国模啪啪裸体| 久久国产高清| 欧美日韩一二三四| 亚洲欧美日韩国产一区二区| 免费成人性网站| 国产婷婷精品| 亚洲精品系列| 亚洲一二av| 精品理论电影在线| 九九精品调教| 日韩午夜高潮| 99香蕉国产精品偷在线观看 | 亚洲精品成人图区| 高清久久精品| 激情偷拍久久| 国产精品中文字幕制服诱惑| 岛国av免费在线观看| 欧美日韩高清| 欧美精品导航| 图片区亚洲欧美小说区| 日本亚洲欧洲无免费码在线| 丁香六月综合| 深夜福利一区| 日韩大片免费观看| 欧美日韩精品免费观看视欧美高清免费大片| 西西人体一区二区| 国产精久久一区二区| se01亚洲视频| 日韩高清在线不卡| 中文在线免费视频| 亚洲另类黄色| 激情综合自拍| 国产日本久久| 神马午夜久久| 国产一区丝袜| 免费在线观看日韩欧美| 国产精品一级| 蜜桃视频一区二区| 97精品97| 国产精品亚洲片在线播放| 在线日韩av| 久久狠狠亚洲综合| 爽爽淫人综合网网站| 国产精品天堂蜜av在线播放| 天堂成人国产精品一区| 成人在线视频中文字幕| 中文字幕日韩高清在线| 国产一区日韩一区| 久久亚洲人体| 免费在线观看精品| 免费av一区| 国产va免费精品观看精品视频| 日韩影院在线观看| 欧美成人a交片免费看| 日韩午夜视频在线| 免费日韩av片| 91精品一区国产高清在线gif | 精品一区视频| 免费看黄色91| 欧美成a人免费观看久久| 久久亚州av| 日韩中文一区二区| 视频小说一区二区| 日本韩国欧美超级黄在线观看| 欧美国产精品| 日韩高清在线不卡| av不卡免费看| 在线观看精品| 国内精品伊人| 国产精品一线| 一区二区高清| 伊人久久大香伊蕉在人线观看热v| 视频福利一区| 999精品在线| 捆绑调教日本一区二区三区| 国产精品一区二区美女视频免费看| 在线一区二区三区视频| 妖精视频成人观看www| 亚洲国产专区| 日韩一区自拍| 欧美日韩尤物久久| 日本一二区不卡| 国产精品久久久久av蜜臀| 国产精品一区二区av交换| 日韩一区二区三区免费视频| 欧美~级网站不卡| 一区三区视频| 免费观看久久av| 婷婷精品视频| 99国产精品视频免费观看一公开| 久久久久国产精品一区三寸| 91精品久久久久久久久久不卡| 精品国产免费人成网站| 高清日韩欧美| 91精品国产成人观看| 欧美日韩视频网站| 9色精品在线| 日韩天堂av| 中文亚洲免费| 日韩激情视频网站| 国产剧情在线观看一区| 日本vs亚洲vs韩国一区三区二区| 老牛影视一区二区三区| 亚洲网址在线观看| 欧美三区不卡| 久久精品青草| 四虎4545www国产精品| 亚洲手机在线| 日韩一区二区三免费高清在线观看| 亚洲www啪成人一区二区| 日韩伦理福利| av在线最新| 亚洲午夜视频| 国产亚洲网站| 欧美片网站免费| 中文字幕中文字幕精品| 免费日本视频一区| 国产精品蜜月aⅴ在线| 欧美精品第一区| 久久精品成人| 黄色免费成人| 红桃视频国产一区| 亚洲中字黄色| 日韩有吗在线观看| 日韩视频二区| 青青草精品视频| 国产美女亚洲精品7777| 欧美激情麻豆| 国产在线|日韩| 午夜一级久久| 国产精品一区2区3区| 久久精品国内一区二区三区| 日韩av成人高清| 蜜臀久久99精品久久久久宅男| 欧美少妇精品| 免费视频一区二区| 国产精品黄色| 日韩高清欧美| 国产精品网在线观看| 四虎4545www国产精品| 国产日韩欧美一区| 精品一区二区三区中文字幕| 免费人成精品欧美精品 | 久久精品国产亚洲夜色av网站| 成人污污视频| 欧美在线网站| 亚洲男人在线| 中文字幕一区二区精品区| 福利一区在线| 91精品1区|