Git Product home page Git Product logo

Comments (5)

dmex avatar dmex commented on June 3, 2024 1
  1. Task Manager reports "Processor Utility" on Windows 8, 10 and 11 which is completely different to processor utilization reported by Process Explorer and System Informer.
  2. TM and RM are both automatically launched with administrative privileges - Querying the cycle counters for some processes are restricted and you have to manually launch SI and PE with administrative privileges.
  3. Your processor has multiple processor groups and Process Explorer is unable to query multiple groups (E vs P).

https://aaron-margosis.medium.com/task-managers-cpu-numbers-are-all-but-meaningless-2d165b421e43

TM Details tab, if you sort by CPU, the total (excluding System Idle Process) does not add up to the total reported on the Performance tab

Task Managers details tab is the only remaining place where TM reports utilization.

from systeminformer.

jxy-s avatar jxy-s commented on June 3, 2024

Few things worth checking here:

  1. Try disabling Enable cycle-based CPU usage in SI.
  2. What is Process Explore reporting?
  3. What is Resource Monitor reporting?

It could be a discrepancy in the cycle-based CPU usage and efficiency cores. I'm not sure, I don't have access to that type of hardware to test myself. If it is, it's possible task manager if over-reporting the actual utilization of efficiency cores. This would become evident with 1 above. Hovering over one of the graphs in SI should report the core type. It's also possible the kernel's accounting of intel efficiency cores changed in the most recent versions of Windows. The observation here seems similar to the ARM cycle accounting.

from systeminformer.

KyleKolander avatar KyleKolander commented on June 3, 2024

I first ran a test with TM, SI, PE and RM (see screenshot). They're all over the place.

  • TM and RM are pretty close to one another - off by 5% total CPU utilization (which could be due to a slight sampling difference) and the logical processor graphs look very similar.
  • SI and PE have similar logical processor graphs, but their total CPU utilization isn't close at all - this seems like it would be a bug with PE, only 3.23% (but wait until later on).
  • SI/PE logical processor graphs aren't close at all to TM/RM.
  • SI/PE total CPU utilization isn't close to TM/RM.

CPU_TaskManager_vs_SystemInformer_vs_ProcessExplorer_vs_ResourceMonitor

Then I disabled Enable cycle-based CPU usage in SI (as you suggested) and re-ran the test. This caused SI to almost exactly mimic PE both WRT total CPU utilization and logical processor graphs. TM and RM stayed pretty much the same.

SI reports the first 16 logical processors as P-Core, and the last 16 as E-Core.

I will say that on the TM Details tab, if you sort by CPU, the total (excluding System Idle Process) does not add up to the total reported on the Performance tab (e.g., Performance tab reports 8%, but Details tab reports 3-5%). That being said, the Processes tab total for CPU does match the Performance tab. ha!

Which one is right? And why? Should I leave Enable cycle-based CPU usage disabled? It's important to understand CPU utilization...

I'm sure there's a good explanation for all of this, and my curious mind would very much like to know! :) I appreciate the help @jxy-s

from systeminformer.

jxy-s avatar jxy-s commented on June 3, 2024

I will say that on the TM Details tab, if you sort by CPU, the total (excluding System Idle Process) does not add up to the total reported on the Performance tab (e.g., Performance tab reports 8%, but Details tab reports 3-5%). That being said, the Processes tab total for CPU does match the Performance tab. ha!

Task Manager uses "Processor Utility" for reporting this information: https://learn.microsoft.com/en-us/troubleshoot/windows-client/performance/cpu-usage-exceeds-100

Which one is right? And why? Should I leave Enable cycle-based CPU usage disabled? It's important to understand CPU utilization...

This blog post will help add some color to the subject. It's focused on ARM but will help explain the option in detail. My advisement is to keep Enable cycle-based CPU usage on for more accurate reporting.

Then I disabled Enable cycle-based CPU usage in SI (as you suggested) and re-ran the test. This caused SI to almost exactly mimic PE both WRT total CPU utilization and logical processor graphs. TM and RM stayed pretty much the same.

If PE and SI are both reporting the same information (with cycle-based CPU usage off) it leads me to believe there is a problem with Task Manager. We regularly observe Task Manager reporting +/- 30% of what is should be (this is due to the "Processor Utility" linked above).

I only have access to a Windows 10 machine with Intel performance and efficiency cores. It's an older Intel CPU than your 14900K, but checking that machine shows consistent information for me. I checked the 10.0.22621.3007 kernel and I'm not immediately seeing any meaningful changes to the accounting of cycles or timing. This could be due to processor grouping, my mixed-core isn't configured to use processor groups, yours could be? System Informer is group-aware and Processor Explorer isn't.

To help diagnose this type of problem I often use CpuStres to stress targeted processors. It might be useful to run this experiment on your machine and see if the accounting is what you would expect. Using CpuStress you can set the ideal CPU and affinity to isolate the thread to a processor and apply a load to it. Once a load is applied you can check the reporting in the various tools to look for egregious inconsistencies.

from systeminformer.

KyleKolander avatar KyleKolander commented on June 3, 2024

Good lord... My head hurts after reading that. 😁 Thanks for the link. That helps to make more sense of it.

You guys are the experts (as far as I'm concerned). Given my CPU and OS, what tool/configuration/metric(s) should I use as the most accurate representation of how hard my system is working? I'm guessing you'll say System Informer, which is good, but how should I configure the options? And how should I interpret the results (e.g., on what scale)?

from systeminformer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.