Running the Task Manager or Resource Monitor or even simply viewing the status of a network connection indicates the system is constantly tabulating a large number of performance metrics. It must take some time to make those measurements. Is there a way to turn off all or as much of that activity as possible, and would it make a difference in performance?
-
6If those resources are affecting a machine enough to cause "performance issues" you've got bigger issues. Coming here and typing this question took more resources than Task Manager and Resource Monitor consume. – TheCleaner Feb 12 '14 at 16:50
-
2Heisenperformance? – dmourati Feb 12 '14 at 16:51
-
Why don't you look at the metrics and use them to determine if there is an issue or not ? – user9517 Feb 12 '14 at 16:53
-
1@dmourati If you're not measuring performance how will you *know* if not measuring performance improves performance? – voretaq7 Feb 12 '14 at 18:00
-
Note the start time. Run a process while its performance (reads, faults, I/O, etc) are tallied. Note the stop time. Repeat without performance measurements. Is it faster? Ie, just like timing someone on a treadmill with and without the oxygen mask. – Witness Protection ID 44583292 Sep 29 '14 at 18:09
1 Answers
Yes, you can disable performance counters. Google can point you at instructions.
Since you didn't see fit to tell us what version of Windows you're running I'm not going to spend an hour combing through the TechNet documentation for every version of Windows still in production.
No, it will not make a significant difference (so you probably shouldn't disable them).
The performance counters are extremely well-optimized code running inside the Windows kernel. The performance overhead gathering this information is effectively zero (the tools you use to display it consume more resources than actually gathering it), and it provides valuable troubleshooting insight if your system actually has a performance problem.
You'll want this data when you actually need to troubleshoot a problem.
As TheCleaner noted, if your system is so marginal that the overhead from performance counters is actually causing a problem you have other, more serious issues (your system is CRITICALLY under-provisioned and needs to be upgraded immediately).

- 79,879
- 17
- 130
- 214
-
So your answer is that not accumulating the counters does not improve performance? Where are you getting your numbers? What is a "significant difference"? What's the overhead of the "well-optimized" code? Why is the time necessary to increment 64-bit counters "effectively zero"? If a CPU-bound computation takes 96.000 hours to run, how much faster would it run without the overhead of O/S monitoring? If performance monitoring is insignificant, how much more work can the kernel or some process do without making a "significant difference"? – Witness Protection ID 44583292 Feb 13 '14 at 05:53
-
@WitnessProtectionID44583292 Unfortunately Microsoft has not released the source code for the Windows kernel, so we can't really answer that. However, if your use case is so extreme that the impact of performance counters is significant, you probably want to look at an alternative platform to run your application on. – Andrew Feb 13 '14 at 06:03
-
Since no one has real numbers, I'll assume the answer is only theoretical and not proven, but I'll go ahead and accept it to remove it from my backlog – Witness Protection ID 44583292 Sep 29 '14 at 18:11