• IIS自动重启解决方案参考


    IIS自动重启解决方案参考

    -----源自网络

    1.         解决方案一:打上微软red Code(红色代码)补丁

    Ø         microsoft网站上看有关红色代码病毒的告示,然后下载升级包。运行即可。

    杀一下毒,也许是红色代码

    Ø         我见到过这个现象,打上微软red   code补丁就好了。  

     视你的OS到微软网站下个补丁,然后重起就好了

    Ø         检查一下是不是中了红色代码吧。它在中文版下可是要起四百个进程进行传染呀。当然IIS会当了。

    2.         解决方案二:杀毒软件或防火墙禁用了FSO有关

    某些网友会遇到这样一个问题,后台管理时,有时会遇到IIS假死现象,就是突然间,点任何东西都没有反应,只能重新启动服务器。这种情况在有关用到FSO和采集时会经常遇到。这是什么原因呢?

    1、和服务器上安装的杀毒软件或防火墙禁用了FSO有关。杀毒软件禁用FSO功能,他并改变FSO在注册表中类名,所以让系统以为FSO功能正常,但实际上,FSO是不能使用的,结果导致系统陷入死循环或无限等待,而导致IIS假死。这个现象在安装了诺顿等杀毒软件,并且启用了“禁用脚本”这个功能(默认是启用的)后,最为常见。而动易系统几乎所有地方都在使用FSO,在添加频道、添加栏目、添加文章等都要使用FSO功能。

    2、和防火墙封住了某些端口有关。某装有防火墙的服务器,由于防火墙会阻挡XMLHTTP随机开启的查询端口,导致此组件发生长时间等待的现象,并可能引起较明显的“假死”现象。而动易的采集和保存远程图片功能都需要使用XMLHTTP组件,所以一进行这些操作,就有可能出现“IIS假死”现象,或者出现采集失败或保存远程图片失败的现象。

    3.         解决方案三:IIS日志存放的盘是不是满了?

    看看你的IIS日志存放的盘是不是满了???日志文件在SYstem32"LogFiles下面。  

     同时在正式使用的时候请禁用IIS日志,在调试的时候再打开。

    4.         解决方案四:应用程序池的原因

    主要是AppPool的问题,给应该程序单独新建一个AppPool,并设定好自己动回收的时间和周期;  

    我以前管理服务器的时候也经常出现这个问题!

    5.         解决方案五:从以下几个方面大概考虑

        实际中检查IIS自动停止的原因很多都是代码引起的,所以请仔细检查一下代码,特别注意是否释放了connectionrecordset等对象=nothing  

     如果使用了VB   COM,注意选中这两个选项:'unattend   execution'      'retain   in   memory'  

     对于程序中的on   error   resume   next也要特别注意,看是否会引发死循环。  

     一个可用的调试检查方法是:  

     1)首先隔离IIS应用程序,将其设为高的应用程序隔离。  

     2)监视所有的dllhost.exe,记住其PID、通常的CPU和内存占用数据  

     3)查看任务管理器中的每一个PID各自代表的应用程序或对象。  

     4)然后在访问IIS时看其占用资源。  

       

     对于其他原因,首先确认是否安装了最新的安全包。可以参考http://www.microsoft.com/security/.  

       

     然后,可参考http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/iis/default.asp

    "Performance"一节或看“HOW   TO:   Monitor   Web   Server   Performance   by   Using   Counter   Logs   in  

    System   Monitor   in   IIS”         http://support.microsoft.com/default.aspx?scid=kb;en-us;313064  

     这可以帮助确认是否为硬件瓶颈导致IIS停止服务。  

     当然,也需要排除病毒可能。  

     还要说到的一点是:在开发完成到程序实际部署到生产环境,最好用WAS进行压力测试:http://webtool.rte.microsoft.com  

       

     下面几个可能会有所帮助的文章:  

     HOWTO:   Troubleshoot   High   CPU   Utilization   of   an   MTS   or   COM+   Process    

    http://support.microsoft.com/default.aspx?scid=kb;en-us;Q258833  

        How   to   Isolate   a   DLL   into   a   Separate   Process   By   Using   Component  

     Services  

     http://support.microsoft.com/default.aspx?scid=kb;en-us;Q258833  

       

     HOWTO:   Use   Autodump+   to   Troubleshoot   "Hangs"   and   "Crashes"  

     http://support.microsoft.com/default.aspx?scid=kb;en-us;q286350  

       

     HOW   TO:   Isolate   Web   Applications   into   Their   Own   Process  

     http://support.microsoft.com/default.aspx?scid=kb;en-us;Q326086  

     C:"httpodbc.dll和一些Inetpub目录下的一些tftp文件都和曾流行一时的尼姆达病毒有关。  

     需要对系统杀毒。

    同时,关于该病毒的查杀,网上有很多讨论,可以搜一下。  

    我觉得可能是一些链接没有释放,比如连数据库的。这样内存虽然没有达到重建asp.net进程的,但系统已经无法创建新的连接,就无法访问了。

    IIS服务管理器----》应用程序池----》添加你的应用,并设置最大内存,当程序达到最大内存后其会自动重启。

    6.         解决方案六:请检查W3WP.EXE进行,SQLserver进程占用内存和CPU的情况

     

    7.         解决方案七:w3wp.exeSessionCache等原因造成

    w3wp.exe就是你的ASP.NET应用宿主,如果你使用了大量的SessionCache等资源,并且Session超市时间很长,那么内存占用量就比较大。应用池是为增加性能而设的一个特性,但是也消耗很大的内存。另外关掉Windows   Server   2003里的大多数Service(那个不用都可以关掉),也可以节省一部分内存

    你的问题我以前也遇见过,我以前是用的Session,后我全部改成cook之后就好多了,应该是你的Session或是你的CACHE有问题(CACHE不太懂,但多多少应该是有的)

    优化asp.net程序,就向楼上的说的那样,少用或不用session   cache   application之类的东西,再有就是是不是有翻页的地方,翻页处理不好也是会占很多内存的。 

    总结上面,大概原因是因为   session      cache   的不合理使用造成的。  

    我的应用程序中,确实用了很多的Session      Cache。

  • 相关阅读:
    linux挂载windows共享文件夹
    centos-6.7 内核升级(转)
    关闭系统邮件提醒:you hava a new mail(转)
    2016年国内开源镜像站点汇总(转)
    RedHat/Fedora/Centos 下bash 自动补全命令
    shell死循环脚本示例
    查看http的并发请求数与其TCP连接状态
    (十二)微信小程序实现登陆页面+登陆逻辑
    vue实现登陆单页面
    vue前端项目初始化的步骤
  • 原文地址:https://www.cnblogs.com/yanzi/p/1511078.html
Copyright © 2020-2023  润新知