• 死循环导致w3wp.exe进程CPU占用率100%


        昨天快下班时同事准备把改好的报表的链接发给客户,让客户测试。在发邮件之前先检查了一遍,结果发现连页面都打不开,之前是可以打开的。同事让我帮他检查一下。

       我remote到server上,一进桌面就弹出来提示说C盘空间不足,一看就剩100多M了,赶快把没用的都删了。可是报表还是打不开。试试其他的网站都能打开,说明不是IIS的问题。打开任务管理器发现有一个w3wp.exe进程CPU占用率100%,我就给报表站点新建了一个application pool,重启iis。然后点开几个报表,都能打开了,但是过一会CPU又100%了。应该是代码有问题了。又重启IIS,然后把刚才的那几个报表挨个打开试试,最后发现有一个页面一打开CPU占用率立刻就上去了,终于找到了~,剩下的事就是去改代码了。

       解决内存占用过多,可以做以下配置:
       1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。
       2、设置应用程序池的回收时间,默认为1720小时,可以根据情况修改。再设置当内存占用超过多少(如500M),就自动回收内存。

       解决CPU占用过多:
       1、在IIS中对每个网站进行单独的应用程序池配置。
       2、设置应用程序池的CPU监视,不超过25%(服务器为4CPU),每分钟刷新,超过限制时关闭。

       google到的怎样找到有问题的网站:

       首先设置任务管理器的查看方式,勾上显示PID,记住w3wp.exe进程的PID。

       然后在命令行里运行iisapp -a,可以看到PID对应的应用程序池。

       再去iis中查看该应用程序池对应的网站,有问题的网站就找到了,剩下的就是这个网站代码中的问题了。  


       IIS的设置推荐Omar AL Zabir的这篇blog:Best practices for creating websites in IIS 6.0

        

  • 相关阅读:
    新浪开放平台入门及基本步骤(java SDK)
    Android 解析JSON数据示例代码[CODE]
    Ubuntu10.04 搭建android平台
    程序员真的很懒
    android之ContentResolver与ContentProvider
    写代码如写散文
    通过OAuth认证和操作新浪微博
    喜报:凌阳教育深圳中心正式成立
    25个让Java程序员更高效的Eclipse插件
    Java Json开源解析包 googlegson download(下载)
  • 原文地址:https://www.cnblogs.com/zhangz/p/1316023.html
Copyright © 2020-2023  润新知