更新时间: 2005年8月
应用到: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1
CPU 监视功能可以监视并自动关闭消耗大量 CPU 时间的工作进程。CPU 监视针对单个应用程序池启用。
在启用 CPU 监视之前,请注意以下事项:
IIS 必须以
Worker Process Isolation Mode工作。
CPU 监视只适用于应用程序池。
CPU 监视不适用于 CGI 应用程序。
重要事项
只有本地计算机上 Administrators 组的成员才能执行以下过程。作为安全性最佳操作,请使用不属于 Administrators 组的帐户登录计算机,然后使用 runas 命令以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /user:Administrative_AccountName "mmc %systemroot%\system32\inetsrv\iis.msc"。
通过使用 IIS 管理器来启用 CPU 监视
在您通过使用 IIS 管理器启用 CPU 监视后,默认情况下 IIS 允许的最大 CPU 使用率为 50%。要更改默认值,请遵照此过程进行操作。
启用 CPU 监视
在
IIS 管理器中,依次展开本地计算机、“应用程序池”文件夹,右键单击要启用 CPU 记帐的应用程序池,然后单击“属性”。
单击“性能”选项卡,然后选中“启用 CPU 监视”复选框。
在“最大 CPU 使用率”框中,单击向上和向下箭头来设置应用程序池应使用的 CPU 的最大百分比。如果应用程序池的 CPU 使用率超出指定的最大限制,IIS 会在 Windows 事件日志中生成一条错误信息。
在“刷新 CPU 使用率值(分钟)”框中,单击向上和向下箭头,设置刷新率。
在“CPU 使用率超过最大使用率时执行的操作”列表框中,为指定的应用程序池单击选择所需的操作。
要使 IIS 在应用程序池达到最大 CPU 使用率时将事件写入系统日志,同时不关闭应用程序池,请单击“无操作”。
除了将事件记入系统日志之外,要关闭应用程序池,请单击“关闭”。
默认情况下选择的是“无操作”。
重要事项
关闭应用程序池将会关闭为该应用程序池提供服务的所有工作进程。
单击“应用”,然后单击“确定”。
从命令行启用 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 限制
在“运行”对话框,键入 cmd,然后单击“确定”。
在命令提示符下,键入:
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 监视。
重要事项
CpuResetInterval 属性的值必须大于日志记录操作之间的时间;否则,IIS 将在进行日志记录之前复位计数器,这样就不会进行 CPU 监视。
通过使用 Adsutil.vbs 设置 CPU 监视复位间隔
在“运行”对话框,键入 cmd,然后单击“确定”。
在命令提示符下,键入:
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 值
在“运行”对话框,键入 cmd,然后单击“确定”。
在命令提示符下,键入:
cscript %SystemDrive%\Inetpub\AdminScripts\adsutil.vbs set W3SVC/AppPools/ ApplicationPoolName /CPUActionActionValue
将 ActionValue 替换成相应的值:0 记录错误但不关闭进程;1 记录错误并关闭进程。
有关设置 CPU 操作的详细信息,请参阅
CPULimit Metabase Property、
CPUResetInterval Metabase Property和
CPUAction Metabase Property。
相关信息
有关 CPU 监视的详细信息,包括与 Windows 系统资源管理器的高级 CPU 监视对应的配置数据库属性及选项的描述,请参阅
Enabling CPU Monitoring。
有关当 IIS 在工作进程隔离模式下运行时可帮助管理和节省资源的相关功能的信息,请参阅
Managing Resources in Worker Process Isolation Mode。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。