当前位置首页 > 百科> 正文

Service Unavailable

2020-01-01 23:05:00 百科
Service Unavailable

Service Unavailable

Service Unavailable 是一种系统的警告提示。如果一个网站的程式占资源太多或者发生太多的错误,系统日誌就会提示:“应用程式池 'xxx' 被自动禁用,原因是为此应用程式池提供服务的进程中出现一系列错误,或者提示:应用程式池 'xxx' 超过了其作业限制设定。这时,访问这个网站就会提示:Service Unavailable。一般系统会在30秒左右恢复正常,多刷新几次就能正常访问了。

基本介绍

  • 中文名:系统警告提示
  • 外文名:Service Unavailable
  • 产生原因:程式占资源太多或者太多的错误
  • 解决方法:刷新

出现原因

Service Unavailable的出现一般是资源不足,如IIS、CPU或记忆体等,极少数情况下会因asp 、.net和php程式错误导致出现。
一般情况下为多个站共用一个程式池,这个程式池可以简单理解为资源库,即这些站点共用这块资源;记忆体限制为500M物理记忆体(伺服器为8G记忆体)。
如果这个资源被其中一个站用完,则程式池就会停止,所有使用这个程式池的站就会出现“Service Unavailable”的提示,直到该程式池被重新启动。
大多数情况下,500M记忆体完全足够使用;如果出现垃圾程式或遇到攻击,则可能出现CPU急速上升或记忆体大量使用,这是大部分“Service Unavailable”出现的原因。从目前我们监测的情况看,大部分是CPU占用在90%-100%之间出现的。

解决方法

刷新几下又可以访问
如果出现“Service Unavailable”的提示,刷新几下又可以访问。
出现这种情况是由于您的网站超过了iis限制造成的由于2003的作业系统在提示IIS过多时并非像2000系统提示“连结人数过多”,而是提示"Service Unavailable",出现这种情况是由于网站超过了系统资源限制造成的,主要是程式占用资源太多。
一些死循环程式,或者不最佳化的程式都会占用太多的系统资源,而系统资源明显是有限的。不过WINDOWS2003的作业系统,各网站之间是以独立进程运行的,不会相互影响。
另外,如果你的网站当前访问人数过多,超过了系统的iis连线数限制,也会出现Service Unavailable的提示(win2k主机下出现连线过多就会提示:连线过多,请稍后再试;而win2003的主机刚直接提示:Service Unavailable)
没有限制IIS连线
没有限制IIS连线,还是遭遇Service Unavailable
多见于使用ACCESS资料库的网站,一般使用windows 2003 IIS 6的用户可能这个问题一直正常的系统,突然有一个网站打不开了提示: Service Unavailable 但这个网站并没有限制IIS连线数。然后马上影响到了别的网站,不到一会,其他的网站也全变成了 Service Unavailable 这是什幺原因呢?
我们分析后可以知道,还是MS的老问题。ACCESS引擎当了。用伺服器医生的档案医生修复,查看修复结果时会发现一些档案引起ACCESS引擎“灾难性故障”及“未将对象引用设定到对象的实例”的错误。 通过档案医生修复后,系统才会恢复正常。
浏览一个Web站点时
浏览一个 Windows SharePoint Services Web 站点时,提示:Service Unavailable
Microsoft Internet 信息服务 (IIS) 6.0 中没有正确地配置用于虚拟伺服器的应用程式池,就可能会发生此问题。

解决方案

要解决此问题,按照下列步骤操作:
1、验证是否已为虚拟伺服器配置了应用程式池。默认的应用程式池是 MSSharePointPortalAppPool。
请按照下列步骤来确定虚拟伺服器正在使用的应用程式池。
a). 单击“开始”,指向“管理工具”,然后单击“Internet 信息服务 (IIS) 管理器”。
b). 展开“ServerName”,展开“Web 站点”,右键单击虚拟伺服器,然后单击“属性”。
c). 单击“主目录”选项卡。 为虚拟伺服器配置的应用程式池列在“应用程式池”框中。
d). 单击“确定”。
2、验证应用程式池帐户使用的密码是否正确。IIS 不会自动轮询 Active Directory 目录服务中的密码更改。如果应用程式池帐户是一个域帐户,其密码已过期,则在为此帐户重新指定一个新密码后,您可能会收到本文“症状”部分所描述的错误信息。
3、 验证应用程式池帐户是伺服器上的 IIS_WPG 组和 STS_WPG 组的成员。
4.、重新启动 IIS 以回收应用程式池
没有正确载入ISAPI筛选器
ISAPI筛选器没有载入成功的话会造成任意网站一访问就出现Service unavailable,这个时候需要根据载入失败的原因解决,或者删除该ISAPI筛选器

整理资料

原因一:网站超过了IIS连线数
解决办法一:增加IIS连线数
备注一:Windows 2003的作业系统在提示IIS过多时并非像win2000系统提示“连结人数过多”,而是提示"Service Unavailable"
原因二:网站超过了IIS资源限制
解决办法二:增加网站的资源
备注二:Winodws2003中网站占用了超过IIS对该网站系统资源的限制后直接提示"Service Unavailable"
原因三:网站的程式发生太多的错误
解决办法三:修改程式错误
备注三:Winodws2003中网站错误太多,就会造成该网站所在的应用程式池出错,这个时候可以在Windows2003的日誌中看到“应用程式池 'xxx' 被自动禁用,原因是为此应用程式池提供服务的进程中出现一系列错误”,这个时候网站就会直接显示"Service Unavailable"
以上三个原因造成的"Service Unavailable",一般现象是出现"Service Unavailable"后,多刷新几次,就可以打开。
原因四:ACCESS引擎错误
解决办法四:重启IIS
备注四:有一些档案造成了ACCESS资料库出现“灾难性故障”及“未将对象引用设定到对象的实例”的错误
原因四造成的"Service Unavailable",现象是所有该伺服器上的使用Access资料库的网站都出现错误,不能访问。
以上四个原因是常见的造成了"Service Unavailable"的原因,其他还有一些问题造成了该问题,基本只要IIS重启一下就可以的。
Service Unavailable的第五种原因就是今天的原因了:ISAPI筛选器没有正常载入
出现这种情况也有可能是他人非法攻击,导致网站流量过大·
如果超出CPU 也会出现这个提示的.
原因六:80连线埠被其它程式占用了。这是个非常隐蔽的原因,如果仅仅在IIS上所有网站都Service Unavailable,并且查看一个简单的html页都发“应用程式池 'xxx' 被自动禁用”错误,那幺在控制台中执行命令"netstat -a -n -o",看看占用80连线埠的是哪个程式。如果您安装了迅雷,请尤其注意这点,迅雷在默认情况下是要和IIS抢80连线埠的。
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net