我有一个networking服务器(IIS6)aspnet_wp使用100%cpu的问题。 这台服务器上有几个网站。 但是,我怎么知道哪个网站导致了这个问题呢? 这些站点位于2.0框架中,并且服务器以IIS5隔离模式运行。
对于IIS6:在命令行上,运行cscript c:\windows\system32\iisapp.vbs 。 它会转储每个应用程序池的PID,因此您可以跟踪哪一个是固定的。
W3WP.exe PID: 12216 AppPoolId: A W3WP.exe PID: 1632 AppPoolId: B W3WP.exe PID: 8892 AppPoolId: C
对于IIS7: appcmd apppool /?
我已经使用了SysInternals Process Explorer(现在可以从微软的网站上获得 )来查看服务器上运行的所有进程。 您可以进入选项查看某些列并打开命令行,这应该显示您运行网站的应用程序池的名称。
我们为每个站点设置单独的应用程序池,这样一旦发生崩溃,就不会造成所有的站点崩溃。 您可以在自己的应用程序中隔离您的每个站点,然后使用该工具找出究竟是哪一个导致问题

由于您使用的是IIS5隔离模式,因此很难确定哪个站点正在使用CPU。 你不能与任务pipe理器alignment。
iisstate和debugging诊断是2个工具,可以帮助你。 如果您可以移出IIS5隔离模式,则会为每个应用程序池获得一个新的工作进程(w3wp.exe),使其更容易进行跟踪。 (而且在IIS7中再次更容易)