CPU 中断时间百分比

Microsoft.Windows.Server.10.0.Processor.PercentInterruptTime (UnitMonitor)

监视 CPU 中断时间百分比

Knowledge Base article:

摘要

处理器的 % Interrupt Time (Processor Information\% Interrupt Time) 超过了阈值。总体系统性能显著降低,并将导致操作系统和应用程序性能较差。

% Interrupt Time 是采样间隔期间处理器在接收和服务硬件中断方面所花费的时间。此值是生成中断的设备(例如系统时钟、鼠标、磁盘驱动程序、数据通讯线路、网络接口卡和其他外围设备)的活动的间接指示器。这些设备完成某项任务或需要注意时,通常会中断处理器。

原因

较高的 % Interrupt Time 通常表示硬件设备存在问题。

解决方法

要查看 Processor Information\% Interrupt Time 的最近历史记录,你可以使用以下视图:

启动处理器性能视图

% Interrupt Time 计数器将不会明确识别导致较高 % Interrupt Time 的设备。若要识别该设备,请使用 Kernrate 查看器 (KrView.exe) 或进程跟踪信息事件确定哪些 ISR 的调度最频繁。

一旦确定了设备,应该联系供应商决定最终解决方法。

其他

有关 Kernrate 查看器的详细信息,请参阅 Microsoft 下载中心网站 http://go.microsoft.com/fwlink/?LinkId=27748

有关处理器对象的详细信息,请参阅 Microsoft Corporation 网站 http://go.microsoft.com/fwlink/?LinkId=27758

有关分析处理器活动的详细信息,请参阅 Microsoft® Windows 2000 资源工具包网站 http://go.microsoft.com/fwlink/?LinkId=27678

Element properties:

TargetMicrosoft.Windows.Server.10.0.Processor
Parent MonitorMicrosoft.Windows.Server.10.0.Processor.PerformanceRollup
CategoryPerformanceHealth
EnabledFalse
Alert GenerateFalse
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.Server.10.0.Processor.Monitortype
RemotableTrue
AccessibilityPublic
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.10.0.Processor.PercentInterruptTime" Accessibility="Public" Enabled="false" Target="ServervNext!Microsoft.Windows.Server.10.0.Processor" ParentMonitorID="Microsoft.Windows.Server.10.0.Processor.PerformanceRollup" Remotable="true" Priority="Normal" TypeID="Microsoft.Windows.Server.10.0.Processor.Monitortype" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<OperationalStates>
<OperationalState ID="OverThreshold" MonitorTypeStateID="OverThreshold" HealthState="Error"/>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
</OperationalStates>
<Configuration>
<CounterName>% Interrupt Time</CounterName>
<ObjectName>Processor</ObjectName>
<InstanceName>$Target/Property[Type="WindowsServer!Microsoft.Windows.Server.Processor"]/PerfmonInstance$</InstanceName>
<Frequency>120</Frequency>
<Threshold>10</Threshold>
<NumSamples>5</NumSamples>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>