gpt4 book ai didi

.net - "Memory Pressure"是什么意思?

转载 作者:可可西里 更新时间:2023-11-01 09:32:22 28 4
gpt4 key购买 nike

通读Tess Ferrandez' Blog关于垃圾收集,她说收集有 3 种可能的原因:

  1. When you allocate a new object and the generation 0 budget is reached, i.e. if the new object would cause it to go over-budget.
  2. When someone calls GC.Collect (Induced GC)
  3. Based on memory pressure

我理解第 1 点和第 2 点,但第 3 点中的内存压力是什么意思?

我原以为这是系统中可用的一般内存,但如果系统真的用完了所有内存,那么我想整个系统都会蓝屏。

内存压力的实际含义是什么?这与超出一代人的预算有何不同?

最佳答案

在第 3 点中,Tess 指的是 Windows 在可用内存不足时发送的“低内存通知”。应用程序可能会收听该通知——在更糟糕的事情发生之前以某种方式使用react(例如,保存其关键数据等等)。表现良好的应用程序甚至可能会尝试通过减少自己的内存使用量来帮助操作系统。

CLR 正在监听低内存通知。当它发生时,GC 就会被触发,并且通常会使 GC 更具攻击性。好处是相互的,因为减少内存压力有助于系统中的所有应用程序(包括 .NET 应用程序本身)。

确切的低内存通知发送时间没有很好的记录。根据内部评论System.Runtime.Caching.PhysicalMemoryMonitor类,而这又基于来自内部 Windows 实现的评论,当大约 97-99% 的物理内存被占用时(取决于系统中安装的物理 RAM 量),会发出低内存通知信号。

关于.net - "Memory Pressure"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50306410/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com