当我们服务器创建了很多应用程序池,然后某个w3wp.exe进程占用CPU和内存过高,我们怎么查找这个w3wp.exe进程属于哪一个网站呢.其实微软为我们提供了很好的查看工具:
首先打开windows任务管理器–点击查看—选择列–把PID给钩上! 就可以在进程里面看到PID的选项了,
在IIS6 中可以用iisapp 命令查看到所有w3wp进程PID对应的网站情况了
点击运行–输入CMD–输入iisapp -a 很奇怪,这里显示PID的,是用弹出窗口一个个出现的,太不利于查看了!!
例如:
命令:iisapp -a 查看所有的
具体还有一些命令参数以及用法,请大家在cmd里输入 iisapp /? 查看!
但IIS7中微软改变了做法,改用了Appcmd命令了,做法如下:
1:在system32文件夹中有appcmd.exe工具,%windir%\system32\inetsrv\appcmd.exe
2:打开dos命令窗口,定位到该文件夹
3:输入查看命令:appcmd list wp,即可看到所有w3wp进程的情况了
ERROR ( message:WAS 服务不可用 - 请先尝试启动该服务。 )
看来又是权限问题,原来此时自己用的并不是管理员账号,appcmd 许多命令都需要提升为管理员权限才能执行,因此运行 runas /user:administrator cmd 重新打开一个 cmd,再次执行 appcmd list wp,OK,当前正在运行的应用程序池列出来了!