关闭

IIS回收情况说明

标签: iis
1804人阅读 评论(1) 收藏 举报
分类:

本文内容基于win7的IIS7.5,该篇内容主要说明什么情况会导致IIS进行回收,以便于当出现回收问题时快速定位问题

通过控制面板下的管理工具,可以打开 Internet 信息服务(IIS)管理器,打开后界面大致如下:



通过选择“应用程序池”,然后选中你要维护的程序池,最右侧栏目可以看到“编辑应用程序池”选项,点击“正在回收”,会打开如下界面:


这是默认情况下的IIS回收设置,可以看到有“固定时间间隔”、“固定请求数量”、“特定时间”、“虚拟内存使用情况”和“专用内存使用情况”五项设置,如果进行了相应设置,当项目运行中任意一项满足了回收设置条件,IIS就会进行回收

当然实际会导致IIS回收的并不只有这五项,点击“高级设置”,打开如下界面:


第一个红色方块区域对应前面设置的回收配置部分,而下面两块红色方块区域对应另外两种会导致IIS回收的情况:“闲置超时”以及“故障”(注意这里的“快速故障防护”指的是当IIS短时间内频繁出错时的处理方式,每次web程序出错其实都会导致该应用程序池重启


这时候我们再打开“回收日志”设置部分,可以看到所有会导致IIS回收的情况:


ISAPI报告了非正常状态:对应故障部分,指的是web程序运行过程中没有处理的异常情况,这种时候一般能在“事件查看器”中找到对应的错误日志

超出请求限制:对应“固定请求数量”设置

超出虚拟内存限制:对应“虚拟内存使用情况”设置

固定时间间隔:对应“固定时间间隔”设置

手动回收:这个不多说了,就是人为的触发回收,对应第一张图“应用程序池任务”的“回收”部分

特定时间:对应“特定时间”设置

已超出专用内存限制:对应“专用内存使用情况”设置

应用程序池配置已更改:这个对应的情况最多,包括web.config配置变更(包括部分通过configSource方式独立出去的配置,如connectionStrings,继承自System.Configuration.IConfigurationSectionHandler的自定义配置,但不包括继承自System.Configuration.ConfigurationSection的自定义配置,注意你在iis管理器中设置iis配置其实也是在修改web.config)、bin目录下任意文件发生变化


回收日志可以在“事件查看器”的“windows日志”--“系统”中查看,如下图:


在截图中可以看到该次回收是由“闲置超时”导致的

最后附加 IIS7.5预加载  IIS8预加载

0
0
查看评论

IIS应用程序池自动回收问题的解决办法

 IIS可以设置定时自动回收,默认回收是1740分钟,也就是29小时。IIS自动回收相当于服务器IIS重启,应用程序池内存清空,所有数据被清除,相当于IIS重启,在快速开发平台服务器端,为了减小数据库负担,内存中暂存了很多信息,不适合频繁的回收,因为回收会造成服务器端所有存在内存中的数据丢失,...
  • proglovercn
  • proglovercn
  • 2016-04-28 21:36
  • 4123

IIS应用程序池回收图文详解

转:http://blog.sina.com.cn/s/blog_8677fcaa010138uf.html
  • jackljf
  • jackljf
  • 2014-07-09 08:37
  • 2414

IIS内存回收

自动回收有好几种方式,也不知道那一种比较适合,而且回收工作进程是会把保存在内存里的Session清空,造成用户需要重新登陆的问题,所以自动回收要越少越好,以保证不会因为其中的一个用户使用了那个很烂的程式导致其他的用户都要重新登陆。  如果用了状态服务器或者是把Session保存到了数据库...
  • xwnxwn
  • xwnxwn
  • 2013-05-03 16:11
  • 705

IIS假死的解决方法 缩短IIS应用池回收时间来实现减少IIS假死

IS日志:   应用程序:ISAPI 'C:\WINDOWS\system32\inetsrv\asp.dll' 报告它自身有问题,原因如下: 'ASP 不正常,因为执行请求的 100% 被挂起,而且请求队列已经使用了 0%。'。   关于 server 2...
  • learner198461
  • learner198461
  • 2015-08-27 09:43
  • 5008

IIS应用程序池自动回收问题的有效解决办法

IIS可以设置定时自动回收,默认回收是1740分钟,也就是29小时。IIS自动回收相当于服务器IIS重启,应用程序池内存清空,所有数据被清除,相当于IIS重启,在度量快速开发平台服务器端,为了减小数据库负担,内存中暂存了很多信息,不适合频繁的回收,因为回收会造成服务器端所有存在内存中的数据丢失,如果...
  • lxrj2008
  • lxrj2008
  • 2017-07-12 10:35
  • 523

IIS解决CPU和内存占用率过高的问题

发现进程中的w3wp占用率过高。   经过查询,发现如下:   w3wp.exe是在IIS(因特网信息服务器)与应用程序池相关联的一个进程,如果你有多个应用程序池,就会有对应的多个w3wp.exe的进程实例运行。这个进程用来分配大量的系统资源。这个进程对于系统的稳定和安全具有重要的意义,不能轻易...
  • hoostone
  • hoostone
  • 2014-09-14 14:38
  • 22102

C# 因IIS回收导致定时器失效的解决方案

首先不要设置iis自动回收,一般设置凌晨1-2点左右回收一次,当凌晨iis回收应用程序池的时候,会调用Application_End,执行里面的代码,重新启动网站,进入Session_Start执行定时器里面要执行的任务 建议定时器的代码放在Session_Start里面,因为Application...
  • ML01010736
  • ML01010736
  • 2015-10-24 10:51
  • 3202

解决IIS应用池回收造成Application_Start中定时执行程序停止的问题

最近在做一个项目,需要在程序中定时不断的执行某些操作,结果发现每天7,8点过后到第二天9点,定时程序经常都没有在执行,后来才知道由于IIS的应用池回收导致Application停止。 而这段时间又没有人再次访问网站,结果在Application_Start中的定时执行程序代码就没有再执行,在网上搜...
  • like68
  • like68
  • 2015-02-12 15:53
  • 2397

IIS7关闭应用程序池自动回收

在web应用程序中经常有一些任务就需要在Global文件启用一个线程来实现, 那假设我们在自己的ASP.NET应用程序中加入了Quartz.NET框架,并且配置等等都OK了。 这个站点访问量很少,现在只有几个人上班的时候才会使用,结果第二天过来一看,后台调度的线程和计算任务都停止了,如果你抓取了...
  • xuqingbo6686
  • xuqingbo6686
  • 2016-03-28 10:50
  • 1480

MFC edit控件实现自动换行

必须设置Vertical Scrollbar = TRUE 必须设置MultiLine = TRUE 必须设置Horizontal Scrollbar = FALSE 必须设置Auto HScroll&#...
  • a200638012
  • a200638012
  • 2016-07-08 17:22
  • 4781
    个人资料
    • 访问:384638次
    • 积分:4090
    • 等级:
    • 排名:第8967名
    • 原创:78篇
    • 转载:4篇
    • 译文:0篇
    • 评论:132条
    文章分类
    最新评论