The output of the command psutil.cpu_times(
) is like this:
scputimes(user=2298.7, nice=20.11, system=728.58, idle=49415.86, iowait=153.26, irq=0.08, softirq=16.78, steal=0.0, guest=0.0, guest_nice=0.0)
The user
and system
values are for how long the CPU has spent in user vs system operations, but what is the meaning of the other returned values?
And how can I get the number of context switches that happed in the last 3 minutes for example?
Those are cumulative numbers therefore they represent the amount of time the CPU has spent since the system has started. As for the meaning of each value (idle, iowait, etc.) take a look at "man proc":
cpu 3357 0 4313 1362393
The amount of time, measured in units of USER_HZ (1/100ths of a second on most
architectures, use sysconf(_SC_CLK_TCK) to obtain the right value), that the
system spent in various states:
user (1) Time spent in user mode.
nice (2) Time spent in user mode with low priority (nice).
system (3) Time spent in system mode.
idle (4) Time spent in the idle task. This value should be USER_HZ times the
second entry in the /proc/uptime pseudo-file.
iowait (since Linux 2.5.41)
(5) Time waiting for I/O to complete.
irq (since Linux 2.6.0-test4)
(6) Time servicing interrupts.
softirq (since Linux 2.6.0-test4)
(7) Time servicing softirqs.
steal (since Linux 2.6.11)
(8) Stolen time, which is the time spent in other operating systems when
running in a virtualized environment
guest (since Linux 2.6.24)
(9) Time spent running a virtual CPU for guest operating systems under
the control of the Linux kernel.
guest_nice (since Linux 2.6.33)
(10) Time spent running a niced guest (virtual CPU for guest operating
systems under the control of the Linux kernel).
As you said user and system are respectively the time spent in user or systems operations, nice is the niceness (priority) of the process.
According to the doc the function psutil.get_num_ctx_switches() returns the number of voluntary and involuntary context switches performed by the process (see Documentation )
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.