System.cpu.usage behavior with multiple cores
-
Some questions about the parameters:
System.cpu.usage & System.CPU.Usage($1)
The system.cpu.usage readout is fine, but what will happen if I run this parameter on a node with multiple cores? I know the system.cpu.usage($1) is used for multiple CPU'S but running this parameter on one of my dual core machines gives me incorrect information. I'm just using "0" and "1" parameter for this, is this correct? and where can I find the core ID?
What's the deal? What parameter should I be using for monitoring CPU LOAD on DUAL CORE machines? And which parameter for monitoring CPU LOAD on Hyperthreading machines?
Just a little confused

-
All System.CPU.Usage parameters works with logical processors - i.e. single physical processor with hyper threading will be seen as two logical processors, quad-core processor will be seen as 4 logical processors, and dual-core processor with hyper threading will be seen as 4 logical processors.
System.CPU.Usage gives you an average utilization for all processors. System.CPU.Usage(*) accepts zero-based logical CPU number as an argument. For system with 4 logical processors you will be able to use ids 0, 1, 2, and 3.
That was about CPU utilization. If we come to CPU load, there are no parameters for per-processor load, because system has only one process run queue, and usually processes can be dispatched for execution to any free CPU.
Hope this helps!
Best regards,
Victor -
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login