User CPU time vs System CPU time?

2019-01-13 09:35发布

问题:

Could you explain more about "user CPU time" and "system CPU time"? I have read a lot, but I couldn't understand it well.

回答1:

The difference is whether the time is spent in user space or kernel space. User CPU time is time spent on the processor running your program's code (or code in libraries); system CPU time is the time spent running code in the operating system kernel on behalf of your program.



回答2:

The term ‘user CPU time’ can be a bit misleading at first. To be clear, the total time (real CPU time) is the combination of the amount of time the CPU spends performing some action for a program and the amount of time the CPU spends performing system calls for the kernel on the program’s behalf. When a program loops through an array, it is accumulating user CPU time. Conversely, when a program executes a system call such as exec or fork, it is accumulating system CPU time.



回答3:

User CPU Time: Amount of time the processor worked on the specific program.

System CPU Time: Amount of time the processor worked on operating system's functions connected to that specific program.



回答4:

Based on wikipedia:

  • User time is the amount of time the CPU was busy executing code in user space.
  • System time is the amount of time the CPU was busy executing code in kernel space. If this value is reported for a thread or process, then it represents the amount of time the kernel was doing work on behalf of the executing context, for example, after a thread issued a system call.


标签: cpu