I have windows 8 , 16 gb , I7 cpu.

But when I run heavy duty work I see 2 graphs :

And so I ask , what do these 2 graphs represent ?

enter image description here


The lower part is always represented by kernel time, it's the amount of processing power that goes into bridging the hardware it's working on and the user processes, or what programmers normally call a Hardware Abstraction Layer (HAL), basically what a kernel is.

The upper part of the processing power is what remains after kernel time and represents what user processes use up, user code application threads.

  • So it's not a mountain in front of a mountain display ------- but a mountain and a cloud section ? ( visualize analogy) – Royi Namir May 11 '14 at 7:51
  • 2
    Different layers on-top of each other. So you essentially see the total utilization/load (light colored graph) as well as the amount spent in kernel stuff (dark colored graph). You can also right click the graph and disable the kernel timing stuff or even unify all the graphs into one big one. – Mario May 11 '14 at 8:11
  • 1
    On top of each other. For a 100% core capability, 40% would go to kernel and 30% user, something like that. There's no really any other way to represent them on PC hardware for a general processing CPU. – JasonXA May 11 '14 at 8:19
  • 3
    It's misleading to state that kernel time goes in doing only hardware stuff, and the HAL is only the lowest level of the kernel (actually, it's a small part on which the rest of the kernel rely to abstract some hardware details). The kernel - and, more in general, all the code that runs in kernel mode - does a lot more than that. High kernel time may be associated to polling hardware, heavy IPC usage, heavy calculations performed by code in kernel mode, continuous task switching and a lot more. Here are some tools to analyze kernel CPU usage. – Matteo Italia May 11 '14 at 14:30
  • 2
    @DanielB: waiting for a slow disk does not incur in high CPU system time, because the CPU isn't involved at all. Most peripherals use DMA to transfer the data, and the CPU doesn't need to do constant polling anyhow to check if the data is there. If a peripheral is slow to provide the data, the OS scheduler will assign the CPU to something else in the meanwhile (if there's nothing to do the CPU will go to the idle task), and the process waiting for data will be put in wait state (and it won't consume CPU). – Matteo Italia May 11 '14 at 14:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.