zoukankan      html  css  js  c++  java
  • IIS 环境下 w3wp.exe 进程 CPU 占用过高的解决方案

    IIS 环境下 w3wp.exe 进程 CPU 占用过高的解决方案

    前一段时间,自己这站点就遇到了 IIS+PHP 环境下 w3wp.exe 进程 CPU 占用过高的问题,造成 IIS  无法正常的工作,从而让网站时好时坏。上周研究了三天后,找到了最终原因,目前工作了十天,没有任何问题,看来原因找到,故以下按照 WIN2003  详细分析给大家做为参考。
    出现这种问题时,首先要判定是哪个网站造成了 w3wp.exe  进程占用过高。这点,网上流传的方法还是比较可行的。不过,想判定这个必须要一个先决的条件:就是你的各个 WEB 网站必须使用独立的应用程序池。
    判定方法:

    1 在任务管理器中增加显示 pid 字段。就可以看到占用内存或者 cpu 最高的进程 pid !

    2 在命令提示符下运行  iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到 pid 对应的应用程序池。3 到  iis 中察看该应用程序池对应的网站就可以了!然后真对站点排除错误!(如果运行后出现 error – no no results  这样的提示,说明你的站点没有开启或还没有被访问过!)

    解决方法:

    1  尝试删除系统路径\System32\Logfiles\W3SVC1  下当天的错误日志文件,如:ex060904.log,然后重新启动IIS,等待一段时间,看看有没有问题。注:有时非法重启或者写入日志错误都 有可能造成 w3wp.exe 进程锁死。
    2 设置应用程序池的CPU监视,不超过25%,每分钟刷新,超过限制时自动关闭。注: 此方法只能用来做为测试,在真正的环境下,这个可能会引起网站时好时坏。不推荐长期使用。
    3  检查你的程序代码,或者网页调用,程序没写好或者有死循环,是最容易造成 w3wp.exe 锁死的。注:方法是先停止IIS,再删除当天的网站 日志(系统路径\System32\Logfiles\对应的网站目录下),然后开启IIS,等待CPU高占用的出现,这时在1分钟内打开新建的日志文 件,按出现时间,对应检查里面所罗列出现的文件,检查代码是否有问题。
    4 检查数据库完整性和 ODBC 的有效性。注:有些写 得不好的 ASP 程序,在访问数据库无法做到容错性,所以有些时候数据库损坏或者 ODBC 传送数据不正常,都有可能造成多次强制查询,从而体现为  w3wp.exe 高 CPU 占用。
    5 检查文件的权限。注:不要奇怪,某些时候真的出现这种事情,一个文件无法写入或者无法 读取,都会引起很大的问题。

  • 相关阅读:
    POJ 1015 Jury Compromise【DP】
    POJ 1661 Help Jimmy【DP】
    HDU 1074 Doing Homework【状态压缩DP】
    HDU 1024 Max Sum Plus Plus【DP,最大m子段和】
    占坑补题。。最近占的坑有点多。。。
    Codeforces 659F Polycarp and Hay【BFS】
    Codeforces 659E New Reform【DFS】
    Codeforces 659D Bicycle Race【计算几何】
    廖大python实战项目第四天
    廖大python实战项目第三天
  • 原文地址:https://www.cnblogs.com/skylaugh/p/2083751.html
Copyright © 2011-2022 走看看