如何使用调试诊断工具可解决 IIS 中的进程的 CPU 使用率过高


概要


本文介绍如何使用调试诊断工具 v1.2 解决在 Microsoft Internet Information Services (IIS) 的进程的 CPU 使用率过高。

简介


IIS 进程使用 80%或更多可用的 CPU 周期,固定的时间间隔,则会出现在 IIS 进程的 CPU 使用率过高。IIS 进程的示例包括 Inetinfo.exe Dllhost.exe,以及 W3wp.exe。通过 IIS 进程的 CPU 使用率过高时,您会遇到一个或多个以下症状︰
  • 未正确加载网页。例如,Web 页为空或没有响应。
  • 您遇到性能降低运行 IIS 的服务器上。例如,进度指示器将移动缓慢当您尝试查看 Web 页。
本文讨论如何安装和配置调试诊断工具来解决由 IIS 进程的 CPU 使用率过高。

详细信息


如果 IIS 进程使用的可用的 CPU 周期的高百分比,我们建议您创建 IIS 进程的完全内存转储文件,IIS 也会处理客户端请求时。来获取并分析内存转储文件,IIS 也会处理客户端请求时,您可以使用调试诊断工具。


步骤 1︰ 下载并安装调试诊断工具 v1.2

若要下载并安装调试诊断工具,请访问下面的 Microsoft 网站︰

步骤 2︰ 配置性能监视器日志记录

配置性能监视器日志记录,请执行以下步骤︰
  1. 单击开始,单击运行,键入调试诊断工具的路径,然后单击确定

    注意:默认情况下,调试诊断工具位于以下文件夹中︰
    C:\Program Files\DebugDiag
  2. 工具菜单上单击选项和设置
  3. 性能日志选项卡上启用性能计数器数据日志记录,请单击,然后单击确定

    注意数据采样间隔框中的值取决于时出现高 CPU 使用率问题。随着数据收集日志的大小。有关如何配置数据采样间隔框中的值的信息,请与 Microsoft 支持专业人员联系。

步骤 3︰ 禁用调试异常捕获

注意:如果您在配置调试诊断工具来使用该工具使用 IIS 6.0 或更高版本,请转到"步骤 4︰ 创建转储文件。"

如果您在IIS5.1或IIS5.0版本上配置该调试诊断工具以使用该工具,请禁用异常捕获调试。若要执行此操作,请执行以下步骤:
  1. 单击开始,单击运行,键入Inetmgr.exe,,然后单击确定
  2. 右键单击要配置的计算机,然后单击属性
  3. 主控形状属性列表中,单击WWW 服务,然后单击编辑
  4. 主目录选项卡上,单击配置
  5. 进程选项选项卡上,单击以清除启用异常捕获调试复选框,然后单击确定

步骤 4︰ 创建转储文件

要创建的转储文件,请使用下列方法之一。

方法 1︰ 创建一个挂起规则

若要创建一个挂起规则,请执行以下步骤︰
  1. 单击开始,单击运行,键入调试诊断工具的路径,然后单击确定

    注意:默认情况下,调试诊断工具位于以下文件夹中︰
    C:\Program Files\DebugDiag
  2. 规则选项卡上,单击添加规则
  3. 性能HTTP 响应时间,请单击,然后单击下一步
  4. 单击添加 URL、 选择 ETW 或 Ping 的选项,键入您遇到此问题,请在其中的 Web 站点的 URL 设置相应的超时和 Ping 时间,然后单击确定。然后,单击来测试该 URL。
  5. 单击确定,然后单击下一步
  6. 单击添加转储目标
  7. 目标类型列表中,单击您想要的请单击确定,目标类型,然后单击下一步
  8. 键入规则的名称,键入用户转储文件位置的路径,然后单击下一步
  9. 单击激活规则现在,,然后单击完成

    规则选项卡上,请注意该规则处于活动状态在状态列中。

方法 2︰ 手动创建一个 IIS 挂起转储文件

若要手动创建 IIS 挂起转储文件,请执行以下步骤︰
  1. 单击开始,单击运行,键入调试诊断工具的路径,然后单击确定

    注意:默认情况下,调试诊断工具位于以下文件夹中︰
    C:\Program Files\DebugDiag
  2. 工具菜单上,单击创建 IIS COM + 挂起转储 /

方法 3︰ 在调试诊断工具中创建用户转储文件的进程

若要创建用户转储文件的进程,请执行以下步骤︰
  1. 单击开始,单击运行,键入调试诊断工具的路径,然后单击确定

    注意:默认情况下,调试诊断工具位于以下文件夹中︰
    C:\Program Files\DebugDiag
  2. 进程选项卡,右键单击您要排查故障,进程,然后单击创建完整用户转储

步骤 5︰ 禁用性能监视器日志

大约两分钟后用户转储文件捕获过程完成后,禁用性能监视器日志记录。若要执行此操作,请执行以下步骤:
  1. 单击开始,单击运行,键入调试诊断工具的路径,然后单击确定

    注意:默认情况下,调试诊断工具位于以下文件夹中︰
    C:\Program Files\DebugDiag
  2. 工具菜单上单击选项和设置
  3. 性能日志选项卡上,单击禁用性能计数器数据记录

第 6 步︰ 分析转储文件

若要分析转储文件,请执行以下步骤︰
  1. 单击开始,单击运行,键入调试诊断工具的路径,然后单击确定

    注意:默认情况下,调试诊断工具位于以下文件夹中︰
    C:\Program Files\DebugDiag
  2. 高级分析选项卡上,单击添加数据文件
  3. 找到并单击您要分析转储文件。单击打开
  4. 高级分析选项卡崩溃/挂起分析器,请单击,然后单击启动分析
  5. 查看 Microsoft Internet Explorer 中显示该报表。此报告的副本也会存储在以下文件夹中︰
    C:\Program Files\DebugDiag\Reports
注意:如果您要排查故障的自定义.dll 文件,包括自定义的.pdb 文件。要包括自定义的.pdb 文件,单击工具单击选项和设置文件夹和搜索路径中的调试符号搜索路径框中,键入路径和,然后单击确定

参考资料


有关如何使用 IIS 的详细信息,请访问下面的 Microsoft 网站︰若要查看有关如何处理 IIS 问题的 Microsoft 开发人员网络 (MSDN) 的网络广播,请访问下面的 MSDN 网站︰
如何解决 IIS 没有响应的情况下
http://go.microsoft.com/fwlink/?LinkId=40968
在 IIS 中如何诊断内存泄漏
http://go.microsoft.com/fwlink/?LinkId=40969
如何诊断情况下 IIS 意外关闭
http://go.microsoft.com/fwlink/?LinkId=40967
有关如何使用调试诊断工具与 IIS 进程的问题进行故障排除的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章︰

919792如何使用调试诊断工具来解决进程已停止响应在 IIS 中

919790如何使用 IIS 调试诊断工具来解决 IIS 进程中的内存泄漏

919789如何使用调试诊断工具来解决意外停止的 IIS 进程