当前位置:  开发笔记 > 后端 > 正文

工作进程回收,因为它达到了虚拟内存限制

如何解决《工作进程回收,因为它达到了虚拟内存限制》经验,为你挑选了0个好方法。

我们为客户提供了一个相当大的(自编)ASP.NET网站.它由一个Web服务,一个Web站点和一个提供图像的Web站点组成,这三个站点都位于自己的虚拟目录中.三个虚拟目录在一个应用程序池中.池具有设置为500兆字节的内存限制(最大虚拟内存和最大已用内存).

但是,即使一次只有一个用户,应用程序池也会遭受很多回收.事件日志消息说:

进程ID为"xxxx"的工作进程为应用程序池"xxxx"提供服务已请求回收,因为它已达到其虚拟内存限制.

但是,使用Process Explorer观察工作进程不会显示任何支持此消息的内容.我应该观察哪些计数器来观察实际上受两种设置限制的内存?

更新1

在任务管理器中观察该过程会显示大约100 MB的"内存使用情况"和"虚拟机大小",仍然会使用上述消息回收该过程.服务器上可用的5 GB物理内存...

更新2

虽然网站相当大,但问题集中在应用程序的一小部分.它执行查询(使用Oracle)并将结果绑定到gridview和转发器webcontrol.结果包括简短描述和图标(通过图像服务网站加载).如果我在彼此之后执行10个搜索操作,每个搜索操作给出9个结果,则工作过程显示内存使用情况和大小为100 MB的vm大小并且回收...

更新3 切换图像服务网站的使用不会产生更好的结果.所以我认为这个问题是另一回事是公平的.

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有