当前位置: 首页 > 图文教程 > 服务器 > Windows服务器 > w3wp.exe占用cpu过高的解决方法

Windows服务器
windows 2003在运行Sysprep时添加自定义用户设置
设置windows 2003的本地策略应用
用好W2K的关机与休眠功能
屏保程序技巧两则
让Win2000服务运行得更好
特殊用途的IP地址介绍
如何禁止显示Windows2000上次登录的用户名
详述Windows2000系统日志及其删除方法
仔细检查文件控制权系统升级才能无后顾之忧
保障Windows2000的账号安全
安全审核让入侵者无处遁形
巧破NTFS下的Win2000口令
Win2000故障解决一览
Win2000系统进程详解
利用输入法找回Windows2000登录密码
Windows2000引导揭秘
自动登录Windows2000系统的两则技巧
随心所欲的设置Windows2000的共享
安装Windows2000
windows2000登陆漏洞解决方法

Windows服务器 中的 w3wp.exe占用cpu过高的解决方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-04   浏览: 153 ::
收藏到网摘: n/a

iisapp.vbs:IIS 应用程序查询脚本
报告为特定的应用程序池提供服务且当前正在运行 w3pwp.exe 进程的进程标识符 (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 的服务器。

示例
下列示例显示在特定的情况下如何使用 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
格式图例
格式 意义
斜体 用户必须提供的信息
粗体 用户必须完全按照显示的那样键入的元素
省略号 (...) 可以在命令行中重复多次使用的参数
在括号 ([]) 之间 可选项目
在大括号 ({}) 之间,将选项用竖线 (|) 隔开。例如:{even|odd} 用户必须从中只选择一个选项的选项集
Courier font 代码或程序输出

另外需要注意:
1、在任务管理器中增加显示pid字段。就可以看到占用内存或者cpu最高的进程pid
2、在命令提示符下运行iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到pid对应的应用程序池
3、到iis中察看该应用程序池对应的网站,就ok了

查询某个站点w3wp.exe占用cpu过高的方法
服务器里面有几个站,所以进程里面的w3wp.exe也有好几个,可是这2天有点不正常,其中有一个w3wp.exe占用CPU接近100%,导致服务器非常卡.
一开始怀疑是被攻击了,因为一般被CC都是这样,但是找不到是哪一个站点.以前在某个站上看过一个方法,试试看.
1.进入命令行.
2.输入命令:iisapp-a
弹出PID值与应用池对应的提示框,最后找到是主站流量比较大.确实这几天流量比较大了.用的还是ACC的数据库,内容页用的都是动态html(伪静态).所以导致w3wp.exe过多占用CPU资源.回收一下应用池,有所好转了.