通过IIS自带工具Iisapp.vbs查询哪个站点占用资源

 

通过IIS自带工具Iisapp.vbs查询哪个站点占用资源

IISAPP.vbs介绍:报告服务于某个特定应用程序池当前正在运行W3pwp.exe进程的进程标识符(PID)。

情况:由于服务器上架设了IIS几十个虚拟主机,某天发现IIS中某虚拟主机进程w3wp.exe占用非常大的cpu内存,但由于过多的站点无法查出是那个站点从而进行分析排错,此时我们可以通过微软IIS自带的IISAPP.VBS工具将此站点查找出来!

使用此方法的排除需要有以下条件:

条件(1)首先在使用前,我们运行先将Windows 任务管理器的PID(进程标识符)打开,方法如下(图1)所示!

图1

查看--排行列--PID(进程标识符) 将其选择上后确定即可看到程序对应的PID标识符!

条件(2)每个虚拟主机使用一个独立应用池用于分析使用!如(图2)所示:

图2

至此我们可以进行IISAPP工具的使用了,我的经验是建议各位不要学我使用随机的应用池名.最好规范一下,每个站点使用相对应的域名,然后应用池也使用相应的域名,这样可以节省相关的排错工作量!

使用方法:在服务器上--开始菜单--运行--cmd

在命令提示符下运行iisapp -a

注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到pid对应的应用程序池。因此我们通过(图1)中找到占用严重的w3wp.exe的PID为2972,此时我们可以通过以下所示中找不能通过对应的2972的应用池名后找到相关站点!


C:/Documents and Settings/administrator>iisapp -a
W3WP.exe PID: 12092   AppPoolId: AppPools #4
W3WP.exe PID:2972   AppPoolId:AppPools #13
W3WP.exe PID: 12164   AppPoolId: AppPools #11
W3WP.exe PID: 10392   AppPoolId: AppPools #51
W3WP.exe PID: 10520   AppPoolId: AppPools #39
……………………
W3WP.exe PID: 4224   AppPoolId: AppPools #68
W3WP.exe PID: 10304   AppPoolId: AppPools #60
W3WP.exe PID: 6792   AppPoolId: AppPools #25
W3WP.exe PID: 6884   AppPoolId: AppPools #33

(iisapp实际上是存放在C:/windows/system32目录下的一个VBS脚本,全名为iisapp.vbs,如果你和我一样,也禁止了Vbs默认关联程序,那么就需要手动到该目录,先择打开方式,然后选“Microsoft (r) Windows Based Script Host”来执行,就可以得到PID与应用程序池的对应关系。)
3、到iis中察看该应用程序池对应的网站,就ok了,做出上面的内存或CPU方面的限制,或检查程序有无死循环之类的问题。

 


 

更多详细可以参考微软官方提供的说明文档:

http://technet2.microsoft.com/windowsserver/zh-chs/library/9b059eb9-1ebd-4fa9-a80e-1fa31adcdacf2052.mspx?mfr=true

 


 

报告为特定的应用程序池提供服务且当前正在运行 w3pwp.exe 进程的进程标识符 (PID)。

iisapp 语法

iisapp [a/ AppPoolName | /p AppPoolID]

iisapp 参数
/a AppPoolName
指定特定应用程序池的名称。(可选项)
/p AppPoolID
按 ID 号指定应用程序池。(可选项)
iisapp 注释

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

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

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

发出命令的计算机必须正在运行 Windows XP 或 Windows Server 2003 操作系统。用户必须是命令所影响的计算机上的 Administrators 组成员。

命令所影响的计算机必须是运行带有 Internet 信息服务 (IIS) 6.0 的 Windows Server 2003 的服务器。

iisapp 示例

下列示例显示在特定的情况下如何使用 iisapp。

iisapp 查看所有运行应用程序

下列示例显示本地计算机上运行的所有应用程序池,按其进程 ID (PID) 和应用程序池 ID (AppPoolID) 标识。该命令忽略所有可选参数并接受默认值。

iisapp

Iisapp 发出如下响应信息:

正在连接到服务器 ...已完成。W3WP.exe PID:2232   AppPoolID:DefaultAppPool W3WP.exe PID:2608   AppPoolID:MyAppPool

按进程 ID 查看运行应用程序

如果知道特定应用程序的 PID,则可以使用下列命令检查其状态。

iisapp /p 2608

Iisapp 发出如下响应信息:

正在连接到服务器 ...已完成。W3WP.exe PID:2608   AppPoolID:MyAppPool

iisapp 格式图例

格式意义

斜体

用户必须提供的信息

粗体

用户必须完全按照显示的那样键入的元素

省略号 (...)

可以在命令行中重复多次使用的参数

在括号 ([]) 之间

可选项目

在大括号 ({}) 之间,将选项用竖线 (|) 隔开。例如:{even|odd}

用户必须从中只选择一个选项的选项集

Courier font

代码或程序输出

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值