win2003中解决w3wp.exe占用内存和CPU的问题

在2003系统IIS6下 , 经常出现w3wp.exe的内存占用不能及时释放和CPU占用居高不下的问题 , 从而导致服务器响应速度很慢 。怎样才能找出是哪一个站点出问题呢?
首先给每个站点都建一个应用程序池 , 这样便于找出问题出在哪一个站点上!
接下来就简单了
1、在任务管理器中增加显示pid字段 。就可以看到占用内存或者cpu最高的进程pid!
2、在命令提示符下运行iisapp -a 。注意 , 第一次运行 , 会提示什么“此脚本不能与 wscript 工作” , 点击确定 , 接着会弹出一个对话框 , 是英文的 , 应该是提示你装一个什么来着 , 忘了 , 没关系 , 点确定就可以了 。然后再次运行iisapp -a就可以了 。这样就可以看到pid对应的应用程序池的名称了!
3、到iis中察看该应用程序池对应的网站 , 就可以了!然后真对站点排除错误!
(顺便说一下 , 如果运行后出现 error - no no results 这样的提示 , 说明你的站点没有开启或还没有被访问过!)
下面详细介绍一下 iisapp 的语法!
语法
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 的服务器 。

    推荐阅读