高中断,有时会冻结

我们有一个Win 2003 R2 TS(x86),它有一些“糟糕的日子”。 直到现在我还没有收集到关于这个数据的信息,但是大多数情况下它运行良好,但是有些时候我们看到了高CPU使用率,很可能是中断

使用procexp我可以看到尖峰中断,这是不正常的比较其他非常相似的TS'。 在这个特定的日子里,我没有一个“美好的一天”的底线,但问题在那里。 中断CPU使用率范围从大约1-10%,大部分在3小时%。

Krview显示了这个(除外):

Module Hits %Total intelppm 12195 48% ntkrnlpa 8994 35% win32k 1545 6% hal 984 3% 

通常情况下,我看到intelppm在> 98%,这似乎是正常的中断情况。

ntkrnlpa上的缩放显示了这一点:

 Module Hits msec %Total Events/Sec NtBuildNumber 1075 14031 9 % 1915401 RtlCaptureContext 1062 14031 9 % 1892238 ZwYieldExecution 991 14031 8 % 1765733 NtFreeVirtualMemory 803 14031 6 % 1430760 SeMarkLogonSessionForTermination 638 14031 5 % 136768 KeFlushEntireTb 577 14031 4 % 1028080 KiDispatchInterrupt 535 14031 4 % 953246 ExAllocatePoolWithTag 494 14031 4 % 880193 KeAreAllApcsDisabled 453 14031 3 % 807141 wctomb 441 14031 3 % 785760 ... 

这是我打砖墙的地方…我不知道为什么这些函数会导致中断,我不知道哪些程序正在调用它们。 任何人都可以让我过去这一点?

我们运行了十几个会计软件,一些软件(app-v)和MS Office。 工作人员并不指出任何明显不好的过程。

只有我看到类似的行为是VMWare虚拟机上过时/不匹配的虚拟机工具。 这台服务器运行在一个物理刀片上,与其他大约14个performance良好的TS'相同。

不,这不是PIO模式。 🙂

每个系统调用(内核函数)都会导致中断。 不过,我不确定这些可以解释不好的performance。 另外,要看看哪些程序正在调用它们,最好钻取特定的进程; 基本上你正在做的是对内核进行中断分析(ntkrnlpa是物理地址扩展NT内核)。

鉴于SeMarkLogonSessionForTermination和NtBuildNumber的使用非常繁重,可能会导致此服务器比其他服务器更频繁地build立和拆除会话,但这似乎不是一个可能的原因。

有什么症状呢? 检查硬件可能是个好主意。