1

I'm experiencing very high rate of Interrupts/sec and CSwitch/sec on my Windows10 machine. I'd look to understand whether it's a normal situation or not. For me the rates are seemed to high. Please advice.

Here's Procexp sorted by CSwitchDelta: enter image description here

Here's a report from perfmon: enter image description here

You can see that CSwitches per second is around 50K-60K. Interrupts per second is 30K-50K. CPU times (both user and kernel) are not very high. So I can't say that it's a performance problem from user perspective - I can't see any slowness in UI. But I saw several articles which tells than CSwitches/sec more then 1000 is high. I have 60000 :) Just an example - https://technet.microsoft.com/en-us/library/cc938613.aspx (it's a bit old indeed).

I understand that the rates very depend on current work a machine is doing. I have lots of running processes - it's my dev machine (VS, VSCode, Firefox, Chrome, Outlook, Sublime, Slack, Adobe Reader, Onenote, Docker (no containers are running), PerfMon, SQLServer, Postgres). But I'd understand if CSwitches were produced by that processes but it seems that they caused by Interrupts. There no any high CPU intensive work is running (you can see it as in Process Times), system is just idle.

I'm looking for any guidance to justify whether it's a normal situation or something wrong with my machine (hardware?). How one can understand whether Interrupts per second rate is high or not? Thanks in advance.

p.s. CPU: Intel Core i7-870 (Intel Q57)

UPDATED: I've disabled HyperThreading in BIOS. Found this advice here - High context switches on SQL Server box. Now CSwitches rate - 20K average, Interrupts - 10K average.

Shrike
  • 195
  • 4
  • 11
  • The real question is: do you have any problems _at all_ with your context switches? I checked on three servers of mine, Exchange (~40 mailboxes, VM) -> around 15k, VM host (clustered, node1) -> around 20k, AD DC (PDC, some fileshares, few services) -> around 15k. So I'd say yours are high, but you also got a few things going on. Also: if you disable HT, is this really what you want? – Lenniey Feb 13 '18 at 15:14
  • I can't say I have a problem on this particular machine (I mentioned it slightly). So it's not kind a post like "Help, my PC Is hanging!". Often these metrics (CS/Interrupts/DPC and others) are suggested to be analyzed first in case of any performance problem on a system. But I questioned myself - how to analyze them if even on an idle desktop system they are MUCH higher than recommended in MS TechNet articles. So actually I need a method to compare these values with some base/references values to say whether it's a perf problem or not. – Shrike Feb 13 '18 at 16:21
  • That was about your _For me the rates are seemed to high. Please advice._ I too think your rates are very high. I'd check it again when virtually nothing runs (especially SQL Server), other than Windows. But as you wrote, SQL Server seems to have an issue(?) with HT and [some workloads run better without it, some better with it activated](https://serverfault.com/questions/194377/will-disabling-hyperthreading-improve-performance-on-our-sql-server-install). But maybe it is no problem at all. – Lenniey Feb 13 '18 at 16:37

0 Answers0