w3wp.exe进程CPU占用高的解决办法

近期学院首页服务器经常出现w3wp.exe进程访问量占到99%的 现象,百度后了解原因为代码中存在死循环,前几天一直没有想到方法查找哪个文件出了问题,今天参加同学聚会,喝了点小酒,突然想到一个方法:将学院主页及 各教学系部的网站都尽量跑在独立的空间(资源池),让其之间不会相互影响。但是这样得有一个前提条件,就是IIS访问“虚拟目录”的优先级必须大于实际目 录的优先级。
举例来说,假设根目录/下有一个实际的文件夹Kaisir,以及一个虚拟目录Kaisir,那我们从浏览器中访问/Kaisir,是访问的虚拟目录还是实际目录呢?经试验,是优先访问的虚拟目录。这样就为我接下来的测试奠定了基础。
接下来,我建立了一系列的资源池,首 先将网站“主站部分”与“系科设置”部分分开,放入两个不同的资源池,等到一会CPU占用飙高,通过一个命令“iisapp -a”可以显示出每个“资源池”与“w3wp.exe”进程的对应关系,通过对应关系,可以判断是主站的代码出了问题,还是下面各教学系的代码出现问题。


通过iisapp -a 查看对应关系,发现是“系科设置”这个目录下的文件造成了w3wp.exe占用99%的问题(这里我舒了一口气……嘿嘿 我看来我修正惠新的代码质量还是挺高的 :) 嘿嘿 )接下来,我就按照教学系建立资源池与虚拟目录,再次通过iisapp -a查看对应关系,终于发现了是“gmx”这个夹子内的代码出现问题,尝试访问,发现一直都打不开,而且服务器w3wp.exe占用率再次飙升到 100%。暂时取消掉这个虚拟目录的asp执行权限,并强制结束这个w3wp.exe进程(这是利用虚拟目录与资源池的一大好处:可以随意的结束掉死掉的 进程而不用担心会影响其他站点的访问。当然最后我会总结) 继续阅读“w3wp.exe进程CPU占用高的解决办法”