解决:IIS 假死,运行一段时间服务器上所有网站打不开,必须要重启服务器才行,重启IIS都没用。怎么解决,解决方案

article/2025/10/19 16:19:07

tip:我服务器问题是 每个5-6天后,服务器上的所有网站都不能访问,重启IIS无用,必须重启服务器!

后,请教周华伟周经理后,找到解决方案如下:

第一原因:

这是程序池造成的,网站运行时,造成服务器CPU使用过大,引起的IIS假死。已知造成原因,就可以找到解决办法!

第二解决:

IIS》应用程序池》打开后在右侧窗口“选择网站程序池”(例如www.xiaoxiongyoupin.com)》右击属性》性能》启用CPU监视》【CPU使用率超过最大使用率时执行的操作(p)】》无操作

建议:

一个网站一个程序池,每个程序池使用相同的方法!

 

延伸阅读:

一、解决IIS无响应假死状态

方法一:

临时解决办法:在IIS中选择你的网站,右击-》属性,选择主目录选项卡,最下面有个应用程序池选项,记住该处的名字,然后在IIS中找到应用程序池并展开,选择你刚才看到的那个名字,右击-》回收,就可以了,如果不行的话,回收后重启IIS。

这个方法治标不治本,原因是你的网站中肯定存在BUG,大多数情况下,是数据库链接未关闭造成的,用上述方法临时先运行着网站,然后去看看网站源程序吧。


方法二:
Internet 信息服务(IIS)管理器->应用程序池->DefaultAppPool->右击属性
一、回收
1、回收工作进程(分钟):选中,值为1740
2、回收工作进程(请求数目):不选(原先设置为35000)
3、在下列时间回收工作进程:不填
4、消耗太多内存时回收工作进程:全不选。(2、3、4项可能避免了在访问量高的时候强制回收进程可能引发的服务器响应问题,导致iis假死不响应)
二、性能
只选中空闲超时20分钟。其他都不选。WEB园最大工作进程数为1(默认)。注意web园这里一定要保持默认,如果填写其他超过1的数字就会导致一些网站程序的后台程序打不开或者刷新不停。
 
原来的请求队列限制为4000,现在无限制。
三、运行状况
前两项都起用,是原来的默认设置。启动时间限制90秒,关闭时间限制180秒。


启动快速失败保护的钩去掉!
为了避免真的遇到很多错误时没有提示,可以不关闭,只是把快速保护的保护范围加大些,例如失败数50次 时间段5分钟 则关闭对应的程序。


“关闭时间限制180秒”是必须的,因为进程关闭的时间,原来为90秒限制,是默认值,如果进程关闭时间超过90秒,则认为超时,从而出现:进程关闭时间超过了限制 日志,所以,适当延长这个时间,可以避免这种错误
 
第2种方法:
 
原因:独立进程的 内存堆戋消耗完了,IIS不能创建更多的进程工作空间来处理
 
解决方法: 
1. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC 
2. 在Parameters键下新建一个DWORD项,名字为:UseSharedWPDesktop 值为1 重启IIS
 
第3种
 
问题已解决,发现是数据库连接无法释放,不知道是什么原因,同样的代码在本地就是好的,在服务器端就有问题,最后在连接串里加入以下语句解决问题. 
 
Pooling=true; MAX Pool Size=512;Min Pool Size=50;Connection Lifetime=30 
 
第4种
 
新建应用程序池,不同的网站引用不同程序池。
--------------------- 
作者:源哥说  
原文:https://blog.csdn.net/yzyssg1/article/details/73130680  

 

二、解决IIS无响应假死状态

https://www.cnblogs.com/songxiii/archive/2011/04/24/2026140.html

1 查看服务器iis的w3wp.exe对应的应用程序池


在IIS6下,经常出现w3wp的内存占用不能及时释放,从而导致服务器响应速度很慢。
今天研究了一下,可以做以下配置:
1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。
2、设置应用程序池的回收时间,默认为1720小时,可以根据情况修改。同时,设置同时运行的w3wp进程数目为1。再设置当内存或者cpu占用超过多少,就自动回收内存
一般来说,这样就可以解决了。但仍然会出现个别网站因为程序问题,不能正确释放。
那么,怎么样才能找到是哪一个网站的?
1、在任务管理器中增加显示pid字段。就可以看到占用内存或者cpu最高的进程pid
2、在命令提示符下运行iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到pid对应的应用程序池
3、到iis中察看该应用程序池对应的网站,就ok了

2 iis假死状态解决"错误应用程序 w3wp.exe,版本 6.0.3790.3959,错误模块 php5ts.dll,版本"


Internet         信息服务(IIS)管理器->应用程序池->DefaultAppPool->右击属性 

 

一、回收 
1、回收工作进程(分钟):选中,值为1740 
2、回收工作进程(请求数目):不选(原先设置为35000) 
3、在下列时间回收工作进程:不填 
4、消耗太多内存时回收工作进程:全不选。(2、3、4项可能避免了在访问量高的时候强制回收进程可能引发的服务器响应问题,导致iis假死不响应) 
二、性能 
          只选中空闲超时20分钟。其他都不选。WEB园最大工作进程数为1(默认)。注意web园这里一定要保持默认,如果填写其他超过1的数字就会导致一些网站程序的后台程序打不开或者刷新不停。 

原来的请求队列限制为4000,现在无限制。 
三、运行状况 
          前两项都起用,是原来的默认设置。启动时间限制90秒,关闭时间限制180秒。 

启动快速失败保护的钩去掉! 
为了避免真的遇到很多错误时没有提示,可以不关闭,只是把快速保护的保护范围加大些,例如失败数50次   时间段5分钟   则关闭对应的程序。 

“关闭时间限制180秒”是必须的,因为进程关闭的时间,原来为90秒限制,是默认值,如果进程关闭时间超过90秒,则认为超时,从而出现:进程关闭时间超过了限制   日志,所以,适当延长这个时间,可以避免这种错误!

 

第2种方法:

原因:为应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制

服务器经常产生“应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制。进程 ID 是 '2068'。”的错误,导致iis处于假死状态,经了解是IIS应用程序池的设置问题。解决方法如下:

Internet 信息服务(IIS)管理器->应用程序池->DefaultAppPool->右击属性
一、回收
1、回收工作进程(分钟):选中,值为1740
2、回收工作进程(请求数目):不选(原先设置为35000)
3、在下列时间回收工作进程:不填
4、消耗太多内存时回收工作进程:全不选。(2、3、4项可能避免了在访问量高的时候强制回收进程可能引发的服务器响应问题,导致iis假死不响应)
二、性能
只选中空闲超时20分钟。其他都不选。WEB园最大工作进程数为1(默认)。注意web园这里一定要保持默认,如果填写其他超过1的数字就会导致一些网站程序的后台程序打不开或者刷新不停。

原来的请求队列限制为4000,现在无限制。
三、运行状况
前两项都起用,是原来的默认设置。启动时间限制90秒,关闭时间限制180秒。

启动快速失败保护的钩去掉!
为了避免真的遇到很多错误时没有提示,可以不关闭,只是把快速保护的保护范围加大些,例如失败数50次 时间段5分钟 则关闭对应的程序。

“关闭时间限制180秒”是必须的,因为进程关闭的时间,原来为90秒限制,是默认值,如果进程关闭时间超过90秒,则认为超时,从而出现:进程关闭时间超过了限制 日志,所以,适当延长这个时间,可以避免这种错误

 

第3种:独立进程的 内存堆戋消耗完了,IIS不能创建更多的进程工作空间来处理

解决方法: 
1. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC 
2. 在Parameters键下新建一个DWORD项,名字为:UseSharedWPDesktop 值为1 重启IIS

 

问题已解决,发现是数据库连接无法释放,不知道是什么原因,同样的代码在本地就是好的,在服务器端就有问题,最后在连接串里加入以下语句解决问题. 

Pooling=true; MAX Pool Size=512;Min Pool Size=50;Connection Lifetime=30 

 

第4种


新建应用程序池,不同的网站引用不同程序池。

应用程序池 与 W3WP.exe 进程的对应关系 
http://blog.joycode.com/ghj/archive/2008/07/30/115206.aspx

W3WP.exe应用程序错误:
http://blog.sina.com.cn/s/blog_4522f0b80100de7w.html

健全的IIS安全配置:
http://www.suixie.com/ruanjian/2007-07-18/176.html

分享一下iis应用程序池设置
http://niker.cn/post/232.html

http://blog.cnknow.com/blogview.asp?logID=755

 

————————————————————————————————————————————

web网站的iis应用程序池频繁假死

最近遇到一个问题比较困乏,请大虾们帮帮忙分析一下:
我们的一个web网站系统经常IIS假死,用户无法访问,一般一两天出现一次,但有时一上午出现2-3次。

解决:

首先看你的服务开启没有
ASP.NET State Service
IIS Admin Service
设置成自动启动
然后设置Internet信息服务(IIS)管理器下的
网站默认网站右键属性调调
或者看看下面的也行:
1:没有打SP1补丁的时候会出现这个IIS6.0假死问题,但现在微软都在自动更新里面出补丁了,一般你打好最新补丁后是不会出现此问题了。(所以现在的IIS假死与这个关系不是很大)

2:从IIS6.0开始CPU资源都在应用池里面限制了,不象以前的IIS.5。所以假死的池的缘故就是池被拉死,你在网站打不开的时候可以看到你的某个应用池是禁用的,上面出现一个红叉。你鼠标右键启动网站又会自动恢复。 这个原因:大概是以下几个因数造成的。

(1):你限制了应用池的资源,限制得太小 比如:50这样或更少更多一点,这个时候如果你这个池下面的网站占用CPU太高,比如超过50% 那么5分钟后他就自动死了,手工默认建立的应用池默认是超过资源不操作。
出现上面这个情况解决方法:1:不限制CPU资源,(这个是不可取的,不限制资源,有的程序有BUG占用资源厉害了的,服务器都会被拉死,你可能都无法操作服务器。)2:在超过资源那里选择关闭,这个关闭默认是失败5次,90秒内恢复,一般默认就可。网站能自动恢复,这个关闭:不是永久关闭,意思是超过资源关闭,然后在某时间内自动恢复池。不操作就是不恢复,这个是很多人的误区。

(2):内存限制 在IIS6.0应用池上面有虚拟内存和最大内存限制,如果你设置了这个。那么网站访问量大了 也会出现假死,所以不建议设置这里。默认就可。

3:就是服务器自身内存太小,网站运行当然需要使用到内存了,当内存不够的时候应用池也会死掉变成禁用。那么只有等内存全部释放出来才能恢复应用池了。出现这个情况:那么你就要考虑加内存或者检查到底是什么程序占用了内存了。比如MSSQL数据库,这个可是吃内存得大户啊,最好别和WEB服务器同时一个服务器上。很多人用1G内存做 2003系统,2003NET结构是很占用内存的,所以做服务器选2003还得把内存加到2G或更高才好。 内存不够上面 2点讲到的,是没办法操作了,也无法自动恢复。

4:就是ACCESS数据库太大或查询太多,这个也会出现把IIS拉死,解决方法;修复ACCESS数据库,或尽量少用ACCESS数据库,升级至sqlserver数据库;或者在技术方面革新,像现在有些网站系统,风讯、动易等cms;pjblog、zblog等博客程序,都支持生成静态功能.

5:不同网站用不同应用池:根据你自己实际情况而定,站点大的最好独立一个应用池,限制他的资源超过了自动回收,看上面(1)讲到的,这样就不影响其他站点。中型站点:多个网站共用一个应用池,比如5个站点用一个池,设置他资源时间等等。这样他们就算超资源了也不影响其他应用池的网站。

6:设置回收时间:很多人以为设置回收池越短越好,其实是错误的,每次回收当然是把内存回收回来了,但加重了一次服务器的负担,当服务器比较繁忙的时候,有可能导致其他应用池死。所以建议设置共1000就行了。其他独立池按照他网站流量而设置 可以设置600 也行,共用的不建议设置太短。

7:网站后台过不了多久自动退出又要重新登陆:这个情况就是你设置回收时间太短了,按照 6点设置吧。 不要设置什么20分、30分这样的,这样不好的。另外一个原因就是和站的响应设置时间有关,设置得稍长些。

8:windows 2003系统iis6访问本机的站点时提示“Service Unavailable”;
查看iis的应用程序池,状况提示为:未指定错误,同时应用程序池自动停止运行;

用事件查看器查看系统错误日志,发现如下提示:
-----------------------------------
应用程序-特定 权限设置未将 COM 服务器应用程序(CLSID 为
{A9E69610-B80D-11D0-B9B9-00A0C922E750}
)的 本地 激活 权限授予用户 NT AUTHORITY\NETWORK SERVICE SID (S-1-5-20)。可以使用组件服务管理工具修改此安全权限。

解决方法,给NETWORK SERVICE 加上访问iis服务的权限,具体方法如下:

点击“开始”-“控制面板”-“管理工具”-“组件服务”-“计算机”-“我的电脑”-“DCOM”选项,
选择其下的“IIS ADMIN SERVICE”,右健选择“属性”,找到“安全”,在“启动和激活权限”中编辑“自定义”,添加帐号“NETWORK SERVICE ”,给该帐号赋予“本地启动”和“本地激活”的权限,重新启动IIS之后再访问同一站点,则一切正常。

9:重启IIS中的特定应用程序池命令和自动重启的方法

在操作系统是Windows server 2003 SP1+的情况下,可以用以下命令部分重启IIS应用程序池:

cscript.exe c:\windows\system32\iisapp.vbs /a "DefaultAppPool"

其中/a 代表alternatively,"DefaultAppPool"代表应用程序池的实例名。如果要设置自动重启这个应用程序池,可以尝试放在批处理中,用计划任务调用此批处理即可。很多人觉得计划任务不安全,都要禁掉,事实上,计划任务的不安全是建立在其它方面不安全的前提上的,如果由于其它方面的不安全,被放入执行程序,计划任务执行,这和计划任务没有直接关系。当然,关掉,是会减少一些安全隐患,这是不错。

 

 

 

 

 

 

 

 

 


http://chatgpt.dhexx.cn/article/GvUgAafR.shtml

相关文章

iis服务器 关闭自动启动,设置IIS服务器定时自动重启的方法

最近,有一朋友的IIS服务器老是出现问题,运行一段时间下来就会出现访问服务器上的网站时提示数据库连接出错,然后重启IIS后网站又能正常访问了,实在找不出是什么原因导致了这个问题。不过最终我想到了一个笨办法,就是让…

C#实现对IIS网站和应用程序池实时监测(网站停止后自动重启)

一、需求分析 在我们的日常运维中,可能会遇到业务网站在运行一段时间后由于某些不确定因素而停止运行,导致业务功能受影响,而此时只要我们重启服务又能够正常运行了,在我们还没有完全排查从根本上解决问题前,需要一个临时的方法来救场(即:当发现业务网站停止后能够自动重…

bat脚本重启IIS中的网站

bat脚本实现重启IIS中的网站 echo off %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit cd /d C:\Windows\System32\inetsrv\ tas…

Windows服务器设置IIS定时重启的方法,带图详解

我们在使用Windows2008下IIS服务器时会经常出现资源耗尽的现象,运行一段时间下来就会出现访问服务器上的网站时提示数据库连接出错,重启IIS后网站又能正常访问了,这个问题可能困扰了很多站长朋友。 一位做网站的笔友经过不断的实践找到了一个…

【服务器】iis的重启服务器、重启iis、回收(重启)线程池、刷新网站

windows自带iis,如果没有的也可以控制面板中启用 1、在开始按钮点击右键,选择控制面板。 2、接着我们从控制面板选择“程序”。 3、然后选择“启用或关闭windows功能”。 4、从列表中选择Internet Infomation Services。 5、并且把相应的功能条…

【window】重启IIS服务

在工作站计算机中使用命令窗口重启IIS一、首先打开cmd命令窗口 二、在cmd窗口中输入iisreset /restart——注 /前有空格 然后就能重启IIS

关于IIS重启的几种方法

关于IIS重启的几种方法 今天看文档,正好看到了有各种情况下,对于云端和本地互相同步更新过程中,经常需要重启IIS服务。自己一直就掌握一种重启方法,想看看一共有几种常用的,遂百度之。经过试验,将经验总结如…

Matlab常用图像处理命令108例(八)

文章和代码以及样例图片等相关资源,已经归档至【Github仓库:digital-image-processing-matlab】或者公众号【AIShareLab】回复 数字图像处理 也可获取。 文章目录 98.roifill99.roifilt2100.roipoly101.std2102.subimage103.truesize104.uint8105.uint16…

chrome浏览器跨域设置(版本号108之后的跨域设置)

1、首先在chrome浏览器安装目录下复制chrome.exe,生成一个新的命名为chrome-cross.exe 注意:为什么要在目录下复制一个新的?是因为如果名字相同,可能会导致设置好的跨域浏览器打开后跟原来的chrome.exe是同一个浏览器&#xff0c…

Leetcode——第108题

题目意思:将排序后的数组转换成二叉查找树。 二叉查找树的定义: (1)若它的左子树不空,则其左子树上任意结点的关键字的值都小于根节点关键字的值。 (2)若它的右子树不空,则其右子…

想进阿里的108道Java面试题

很多同学想进大厂,特别是刚毕业的,以及工作年限短的,不要有任何侥幸心理,踏踏实实的把基础弄扎实了,这是你通往高薪之路的唯一正确姿势。 好了,不多说了,直接上正菜。 01 Mysql 1. 数据库三范…

《缠中说禅108课》20:缠中说禅走势中枢级别扩张及第三类买卖点

前面已经很明确地指出,缠中说禅走势中枢由前三个连续次级别走势类型的重叠部分确定,其后的走势有两种情况:一、该走势中枢的延伸。二、产生新的同级别走势中枢。而在趋势里,同级别的前后缠中说禅走势中枢是不能有任何重叠的&#…

108.【RabbitsMQ】

RabbitMQ (一)、中间件简述1.中间件概述(1).什么是中间件(2).为什么使用中间件?(3).中间件的特点(4).在项目中什么时候使用中间件技术 (成本!!) 2. 中间件技术及架构的概述(1).中间件全家福(2).学习中间件的方式和技巧(3).单体架构(4).分布式架构 3.基于消息中间件的分布式系统…

《缠中说禅108课》12:一吻何能消魂?

就算是看 AV,最终也是为了实战。上章说了那么多关于“吻”的知识,目的是为了干而不看,光看不干,那不成了阴九幽?AV 看多了而不实践,绝对有损健康。但干,马上要遇到的就是风险问题。任何一个位置…

《缠中说禅108课》108:何谓底部?从月线看中期走势演化

何谓底部?这里给出精确的定义,以后就不会糊涂一片了。底部都是分级别的,如果站在精确走势类型的角度,那么第一类买点出现后一知道该买点所引发的中枢第一次走出第三类买卖点前,都可以看成底部构造的过程。只不过如果是…

嵌入式分享合集108

一、PLC串口通讯的基本知识 这几天弄plc都要神经了 尤其西门子的 太烦了 s7200cn s7200smart s1200 编程软件都不一样~~服 , 然后接线也很烦 好了 正题 电气作业人员在使用PLC的时候会接触到很多的通讯协议以及通讯接口 什么是串口通讯? 串口通讯的使…

牛客练习赛108

A.惊鸿 链接:https://ac.nowcoder.com/acm/contest/51208/A 来源:牛客网 题目描述 云浅有四个正整数 a1,a2,a3,a4a_1,a_2,a_3,a_4a1,a2,a3,a4。 她可以进行任意次操作,每次操作中,她可以选出某两个 ai,aja_i,a_jai,aj&#xff0c…

股票和期货的108个区别(股票和期货的108个区别pdf)

期货和股票有什么区别 股票与期货的区别: 股票是股份公司发行的所有权凭证,是股份公司为筹集资金而发行给各个股东作为持股凭证并借以取得股息和红利的一种有价证券,每股股票都代表股东对企业拥有一个基本单位的所有权。期货是以某种大众产…

《缠中说禅108课》16:中小资金的高效买卖法

上章说过,市场任何品种任何周期下的走势图,都可以分解成上涨、下跌、盘整三种基本情况的组合。上涨、下跌构成趋势,如何判断趋势与盘整,是判断走势的核心问题。一个最基本的问题就是,走势是分级别的,在 30 …

ngrok 错误 ERR_NGROK_108,并且有时闪退

ngrok 内网穿透报错闪退 ERROR: authentication failed: Your account is limited to 1 simultaneous ngrok agent session. ERROR: You can run multiple tunnels on a single agent session using a configuration file. ERROR: To learn more, see https://ngrok.com/do…