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

发布于 2024-09-07 01:20:45 字数 259 浏览 2 评论 0 原文

我的网络应用程序应用程序池配置是 定期重启内存:512000 PeriodicRestartPrivateMemory :196608

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

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

谢谢

my web applications app pool configuration is
PeriodicRestartMemory : 512000
PeriodicRestartPrivateMemory : 196608

although the virtual memory limit is higher than private memory, app pool is recycled with virtual memory limits exceeded errors in the event log (instead of private memory).

what is the reason for this? how could it exceed virtual memory limits before exceeding private memory limits? it seems that systems other allocations in virtual memory cause limits exceeded before applications private allocations exceed the limits, but what are those allocations of the system? or what is the root cause of this.

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

揽月 2024-09-14 01:20:45

来自 Tess Ferrandez 的博客

简单来说,Virtual Bytes 是进程保留的内存,Private Bytes 是进程实际使用的内存量。

她还在她的帖子“.Net 内存使用 - 餐厅类比

基本上,您的应用程序正在尝试保留比可分配的内存更多的内存 - Tess 有许多关于调查可能原因的好帖子。

From Tess Ferrandez's blog:

Simplified, Virtual Bytes is the memory that the process reserves, Private Bytes is how much of that the memory that the process actually uses.

She also has a good description of the likely problem in her post ".Net Memory Usage - A restaurant analogy"

Basically, your app is attempting to reserve more memory than is available to be allocated - Tess has a number of good posts on looking into likely causes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文