为什么 ASP.NET Core 写的网站在启动后一段时间内不断访问内存会线性增长,没有下降趋势?为什么其它语言写的 Web 程序没有这种现象? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
rv54ntjwfm3ug8
V2EX    程序员

为什么 ASP.NETCore 写的网站在启动后一段时间内不断访问内存会线性增长,没有下降趋势?为什么其它语言写的 Web 程序没有这种现象?

  •  
  •   rv54ntjwfm3ug8 2022-04-12 20:10:04 +08:00 2485 次点击
    这是一个创建于 1346 天前的主题,其中的信息可能已经有所发展或是发生改变。

    自带的 MVC 模板,每按一次 F5 内存占用固定增大 0.8MB 这是什么机制,占到什么程度会开始释放?难道假设我只有 1GB RAM ,只能处理 100 个请求?

    11 条回复    2022-04-13 16:05:47 +08:00
    frankyzf
        1
    frankyzf  
       2022-04-12 20:25:45 +08:00
    frankyzf
        2
    frankyzf  
       2022-04-12 20:27:59 +08:00
    不知道你用的哪个版本,感觉 net 6.0 比以前的版本在内存控制方面好些
    roundgis
        3
    roundgis  
       2022-04-12 20:30:44 +08:00 via Android
    那 oom 有?
    userforg2021
        4
    userforg2021  
       2022-04-12 20:43:06 +08:00
    1. 其它语言是哪些语言;
    2. 100*0.8=80 ;
    3. 了解一下 GC 工作机制,以及.net 的 Workstation GC 和 Server GC ;
    4. 开 IDE 调试看看有没有触发 GC ,手动触发 GC 试试;
    Leviathann
        5
    Leviathann  
       2022-04-12 20:56:30 +08:00
    可能没有归还给操作系统
    java 应该也是这样,除非是 12 以后的版本 g1gc + 开启 G1PeriodicGCInterval 才会比较明显的归还内存
    而 13 以后使用 zgc 的话是默认开启归还的
    wanguorui123
        6
    wanguorui123  
       2022-04-12 21:28:35 +08:00
    可能是 GC 延迟回收吧
    hez2010
        7
    hez2010  
       2022-04-13 00:06:57 +08:00 via Android   1
    GC 不会立即 decommit 掉分配的内存的,因为很可能刚刚使用的内存很快又会被使用。
    如果代码中没有内存泄漏的 bug 的话,这个数值不会一直往上增长,而是最终会维持在一个稳定的范围内。
    seakingii
        8
    seakingii  
       2022-04-13 00:51:08 +08:00   1
    搞个 ab 压力测试下会不会内存无限增长
    INCerry
        9
    INCerry  
       2022-04-13 12:37:56 +08:00
    ragnaroks
        10
    ragnaroks  
       2022-04-13 14:15:19 +08:00
    不存在你说的问题,3.1 起一个默认模板项目,调试模式初始占用 70M ,多次 F5 后固定在 80M 上下浮动
    MonoLogueChi
        11
    MonoLogueChi  
       2022-04-13 16:05:47 +08:00 via Android
    先要搞明白,其他语言是哪些语言,以及这些语言为什么能做到占用内存比较小。

    只要处理请求,就会产生内存占用,要想内存占用始终保持在一个比较低的水平,就要频繁回收内存,但是回收内存会对性能产生影响,内存释放和回收的越频繁,对整体性能影响就越大,就是时间换空间的问题

    https://docs.microsoft.com/zh-cn/aspnet/core/performance/memory?view=aspnetcore-6.0
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5022 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 08:44 PVG 16:44 LAX 00:44 JFK 03:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86