分享

在 IIS 6.0 中启用 CPU 监视

 风声之家 2016-02-27


更新时间: 2005年8月

应用到: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1

CPU 监视功能可以监视并自动关闭消耗大量 CPU 时间的工作进程。CPU 监视针对单个应用程序池启用。

在启用 CPU 监视之前,请注意以下事项:

Important重要事项
只有本地计算机上 Administrators 组的成员才能执行以下过程。作为安全性最佳操作,请使用不属于 Administrators 组的帐户登录计算机,然后使用 runas 命令以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /user:Administrative_AccountName "mmc %systemroot%\system32\inetsrv\iis.msc"

通过使用 IIS 管理器来启用 CPU 监视

在您通过使用 IIS 管理器启用 CPU 监视后,默认情况下 IIS 允许的最大 CPU 使用率为 50%。要更改默认值,请遵照此过程进行操作。

启用 CPU 监视

  1. 在 IIS 管理器中,依次展开本地计算机、“应用程序池”文件夹,右键单击要启用 CPU 记帐的应用程序池,然后单击“属性”。

  2. 单击“性能”选项卡,然后选中“启用 CPU 监视”复选框。

  3. 在“最大 CPU 使用率”框中,单击向上和向下箭头来设置应用程序池应使用的 CPU 的最大百分比。如果应用程序池的 CPU 使用率超出指定的最大限制,IIS 会在 Windows 事件日志中生成一条错误信息。

  4. 在“刷新 CPU 使用率值(分钟)”框中,单击向上和向下箭头,设置刷新率。

  5. 在“CPU 使用率超过最大使用率时执行的操作”列表框中,为指定的应用程序池单击选择所需的操作。

    • 要使 IIS 在应用程序池达到最大 CPU 使用率时将事件写入系统日志,同时不关闭应用程序池,请单击“无操作”。

    • 除了将事件记入系统日志之外,要关闭应用程序池,请单击“关闭”。

      默认情况下选择的是“无操作”。 

      Important重要事项
      关闭应用程序池将会关闭为该应用程序池提供服务的所有工作进程。

  6. 单击“应用”,然后单击“确定”。

从命令行启用 CPU 监视

从命令行启用 CPU 监视的过程可分三步进行:

  • 设置 CPULimit 配置数据库属性,以便将指定应用程序池中的工作进程限制为 CPU 时间的某个百分比。

  • 设置 CPUResetInterval 配置数据库属性,以指定 CPU 监视的时间间隔。

  • 设置 CPUAction 配置数据库属性,以指定您希望 IIS 执行的操作类型,如写入事件日志或关闭超出 CPU 限制的工作进程。

设置 CPU 限制

CPULimit属性配置了在 CPUResetInterval 属性设置的时间段内,允许应用程序池中的工作进程消耗 CPU 时间的最大百分比。如果超出了 CPULimit属性设置的限制,将在事件日志中写入一个事件,并且将触发一个由 CPUAction 属性确定的可选事件集。将 CPULimit 属性的值设置为 0 可以禁用 CPU 监视。

要对应用程序池启动 CPU 监视,请将 CPULimit 属性设置为大于 0 的值。要计算待设置的值,请确定您希望应用程序池中的工作进程使用的 CPU 时间的最大百分比,例如 50%(该值为默认值)。接下来将该百分比乘以 1,000 (50  1,000 = 50,000)。因此,要将 CPU 使用率限制为 50%,应将 CPU 限制的值设置为 50000。

通过使用 Adsutil.vbs 设置 CPU 监视的 CPU 限制

  1. 在“运行”对话框,键入 cmd,然后单击“确定”。

  2. 在命令提示符下,键入:

    cscript %Systemroot%\Inetpub\AdminScripts\adsutil.vbs set W3SVC/AppPools/ ApplicationPoolName /CPULimit n

    将 n 替换成允许该应用程序池使用的 CPU 的最大百分比与一个百分比的千分之一之比得到的值。

设置 CPU 复位间隔

对应用程序启用 CPU 监视之后,请使用 Adsutil.vbs 来设置 CPUResetInterval 属性的值,以指定 CPU 监视和限制应用程序池的复位时段(以分钟计)。如果自从上次 CPU 监视复位后,经过的时间达到此属性所指定的数值时,IIS 将复位用于日志记录和限制间隔的 CPU 计时器。默认值为 5 分钟。此属性的值设置为 0 将禁用 CPU 监视。

Important重要事项
CpuResetInterval 属性的值必须大于日志记录操作之间的时间;否则,IIS 将在进行日志记录之前复位计数器,这样就不会进行 CPU 监视。

通过使用 Adsutil.vbs 设置 CPU 监视复位间隔

  1. 在“运行”对话框,键入 cmd,然后单击“确定”。

  2. 在命令提示符下,键入:

    cscript %SystemDrive%\Inetpub\AdminScripts\adsutil.vbs set W3SVC/AppPools/ ApplicationPoolName/CPUResetInterval n

    将 n 替换成复位间隔的分钟数。要禁用 CPU 监视,请键入 0

设置 CPU 操作

最后,设置 CPUAction 属性,以配置 Microsoft? Windows NT? 作业对象运行时 IIS 将执行的操作。每个应用程序池仅存在一个 Windows NT 作业对象;因此,您必须分别为每个应用程序池配置 CPUAction 属性。如果您未设置 CPUAction 配置数据库属性,则 IIS 将指定默认值,即 0(仅对事件进行日志记录)。

通过使用 Adsutil.vbs 设置 CPUAction 值

  1. 在“运行”对话框,键入 cmd,然后单击“确定”。

  2. 在命令提示符下,键入:

    cscript %SystemDrive%\Inetpub\AdminScripts\adsutil.vbs set W3SVC/AppPools/ ApplicationPoolName /CPUActionActionValue

    将 ActionValue 替换成相应的值:0 记录错误但不关闭进程;1 记录错误并关闭进程。

有关设置 CPU 操作的详细信息,请参阅 CPULimit Metabase PropertyCPUResetInterval Metabase PropertyCPUAction Metabase Property

相关信息

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多