【www.gdgbn.com--SAP】

iis 中查看w3p.exe所性应用池与iisapp来查看pid占用cpu过高进程


iisapp -a来显示应用程序池的性能列表.

iisapp.vbs它是一个脚本程序,在安装2003时需要sp1才有

而iis7可以直接用它的外壳命令

c:"windows"system32"inetsrv>appcmd.exe list wp来显示

有时候因为服务器安全问题不能直接运行,我们可以通过下面的方法解决下。

iis7中查看w3wp进程

在iis中可以用iisapp命令查看到所有w3wp进程的情况,但iis7中微软改变了做法,改用了appcmd命令了,做法如下:
  1:在system32文件夹中有appcmd.exe工具,%windir%system32inetsrvappcmd.exe
  2:打开doc命令窗口,定位到该文件夹
  3:输入查看命令:appcmd list wp,即可看到所有w3wp进程的情况了


利用iisapp来查看pid占用cpu过高的网站

isapp -a pid

可以查出对应的域名

反之 iisapp -p domain 查pid的语法
iisapp [a/
apppoolname | /p
apppoolid]

参数
/a apppoolname

指定特定应用程序池的名称。(可选项)

/p apppoolid

按 id 号指定应用程序池。(可选项)

注释
如果未指定应用程序池名或 id,则 iisapp 列出所有运行应用程序。

仅当使用 /s 时,

才可使用 /u 和 /p 命令行选项。必须同时使用 /p 和 /u 才能提供用户密码。

iisext.vbs 执行 iis 管理器中可用的相同操作。可使用任何一种工具管理 iis 网站。

发出命令的计算机必须正在运行 windows xp 或 windows server 2003 操作系统。用户必须是命令所影响的计算机上的 administrators 组成员。

命令所影响的计算机必须是运行带有 internet 信息服务 (iis) 6.0 的 windows server 2003 的服务器。

说明一下:w3wp.exe为iis里面的应用程序池进程,有几个进程就会有几个w3wp.exe,会发现某个w3wp.exe进程cpu和内存都高得可怕!

好,那我们来看看具体实践中该如何解决首先是windows2003

首先打开windows任务管理器–点击查看—选择列–把pid给钩上!!,,

就可以在进程里面看到pid的选项了

点击运行–输入cmd–输入iisapp -a—很奇怪,这里显示pid的,是用弹出窗口一个个出现的,不知道别人会不,,反正我就是这样,太不利于查看了!!
注意,希望人blog听说第一次运行,会提示没有js支持,点击确定.然后再次运行就可以了.这样就可以看到pid对应的应用程序池,这个我就没测试了!

这样吧,先再cmd里面输入:cd %systemroot%system32
然后再输入:cscript.exe iisapp.vbs -a
cmd窗口显示如下:
w3wp.exe pid: 2488 apppoolid: apppool #26
w3wp.exe pid: 3008 apppoolid: apppool #2
w3wp.exe pid: 4704 apppoolid: apppool #15
w3wp.exe pid: 6388 apppoolid: apppool #19
w3wp.exe pid: 6004 apppoolid: apppool #8
奇怪的是,我还是弹出了窗口,不过不影响显示!有了这样对于就好办了,!

再任务管理器里面查看占用cpu和内存过高进程的pid值,就知道是哪一个应用程序池出了问题,就可以查到具体是什么网站有问题了!!!

本文来源:http://www.gdgbn.com/qiyexinxihua/29641/