经过查找发现是因为w3wp.exe占用了100%的cpu导致80端口占用巨大,其它的操作都无法进行。
在任务管理器中看到的是w3wp.exe占用资源过多,那么就需要查看w3wp.exe的pid值。
下面是寻找出错网站的过程:要找到这个网站,必须把有问题的进程跟该网站的应用程序池联系起来。首先设置任务管理器的查看方式,加入PID的显示:
然后再命令行运行iisapp -a,可以看到PID跟应用程序池的对应关系:
再去iis中看该应用程序池对应的网站,有问题的网站就找到了,剩下的就是这个网站代码中的问题了。
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:MyAppPooliisapp 格式图例
格式 | 意义 |
斜体 |
用户必须提供的信息 |
粗体 |
用户必须完全按照显示的那样键入的元素 |
省略号 (...) |
可以在命令行中重复多次使用的参数 |
在括号 ([]) 之间 |
可选项目 |
在大括号 ({}) 之间,将选项用竖线 (|) 隔开。例如:{even|odd} |
用户必须从中只选择一个选项的选项集 |
Courier font |
代码或程序输出 |