代码之家  ›  专栏  ›  技术社区  ›  lockedscope L42

内存限制和应用程序池回收

  •  1
  • lockedscope L42  · 技术社区  · 14 年前

    我的Web应用程序应用程序池配置为 周期寄存器:512000 周期ICrestartprivatememory:196608

    尽管虚拟内存限制高于专用内存,但应用程序池会被回收,并在事件日志(而不是专用内存)中显示超过错误的虚拟内存限制。

    为什么会这样?在超过私有内存限制之前,它如何能超过虚拟内存限制?系统在虚拟内存中的其他分配似乎会导致在应用程序私有分配超过限制之前超出限制,但这些系统的分配是什么?或者根本原因是什么。

    谢谢

    1 回复  |  直到 14 年前
        1
  •  2
  •   Zhaph - Ben Duguid    14 年前

    Tess Ferrandez's blog :

    简化的虚拟字节是进程保留的内存,私有字节是进程实际使用的内存量。

    她还很好地描述了她在工作中可能遇到的问题。” .Net Memory Usage - A restaurant analogy

    基本上,你的应用程序正试图保留比可分配的内存更多的内存——Tess在寻找可能的原因方面有很多不错的文章。