在 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 的服务器。


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!