核心提示:通过iisapp命令查找pid,解决IIS CPU利用率高的问题。我们来看看IIS app“IIS app-a PID”的一些参数,找出对应的域名。
我们先来看看iisapp的一些参数。
iisapp -a pid
你可以找到相应的域名
相反,iisapp -p域查找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操作系统。该用户必须是受该命令影响的计算机上的管理员组的成员。
受该命令影响的计算机必须是运行Windows Server 2003和Internet信息服务(IIS) 6.0的服务器。
解释:w3wp.exe是IIS中的一个应用池进程,几个进程会有几个w3wp.exe,你会发现一个w3wp.exe进程的CPU和内存高得可怕。
好了,我们来看看具体实践中如何解决。首先,windows2003。
首先打开windows任务管理器——点击视图——选择列——勾选PID,可以看到进程中的PID选项。
点击运行输入CMD-输入iisapp-a很奇怪PID显示在这里,而且是一个一个的弹出窗口出现。不知道别人会不会,反正我就是这样,太不利观赏了。
注意,希望大家听到博客第一次运行时,提示没有js支持,点击确定。然后再运行一次。所以你可以看到pid对应的应用池,所以我没有测试这个。
你猜怎么着首先在CMD中输入cd %systemroot%\system32。
然后再输入:cscrIPt.exe iisapp.vbs -a
CMD窗口显示如下:
W3WP.exe PID: 2488 Application Pool ID: Application Pool #26
W3WP.exe PID: 3008 Application Pool ID: Application Pool #2
W3WP.exe PID: 4704 Application Pool ID: Application Pool #15
W3WP.exe PID: 6388 Application Pool ID: Application Pool #19
W3WP.exe PID: 6004 Application Pool ID: Application Pool #8
奇怪的是,我还是弹出了窗口,不过不影响显示。有了这样对于就好办了。
再任务管理器里面查看占用CPU和内存过高进程的PID值,就知道是哪一个应用程序池出了问题,就可以查到具体是什么网站有问题了。
相关资料:
win2000的解决方法
2000下要怎么办呢?win2000下不大方便,需要将站点的应用程序保护设置为高,默认是中。
然后打开管理工具 组件管理,组件服务— 计算机— 我的电脑— com+ 应用程序
选择查看 状态查看,就可以看到类似如下的显示:
名称运行PID
IIS-{www.downcc.com//Root} 是2544