命令psutil.cpu_times(
)的输出如下:
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)
user
和system
值是指CPU在用户与系统操作中花费的时间,但其他返回值的含义是什么?
例如,如何获得最近3分钟内发生的上下文切换次数?
答案 0 :(得分:3)
这些是累积数,因此它们代表自系统启动以来CPU花费的时间。至于每个值(空闲,爱荷华等)的含义,请看一下“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).
答案 1 :(得分:0)
正如您所说的那样,用户和系统分别是用户或系统操作所花费的时间,这个过程的好处(优先级)很好。
根据文档,函数psutil.get_num_ctx_switches()返回由进程执行的自愿和非自愿上下文切换的数量(参见Documentation)