psutil.cpu_times()在python中返回的每个参数的含义是什么?

时间:2014-11-20 12:22:40

标签: python psutil

命令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)

usersystem值是指CPU在用户与系统操作中花费的时间,但其他返回值的含义是什么?

例如,如何获得最近3分钟内发生的上下文切换次数?

2 个答案:

答案 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