一个CPU的定义第二?

我完全支持这个话题。

昨天我正在为我正在编写的一些脚本进行分析,而花费的时间单位是“ CPU秒 ”。 任何人都可以提醒我的定义吗?

例如对于一些分析我得到: 200.750 CPU秒 。 这是什么意思? 在其他情况下和耗时的过程中,我得到: -347.977 CPU秒 ,一个负数!

无论如何,我可以把那个时间转换成日历时间吗?

干杯,

一秒CPU是CPU的一秒钟。

stream程执行时间有两个度量:

  • CPU时间或CPU主动运行进程所用的时间; 和
  • 长城时间,或者你开始进程和结束进程之间的时间。

假设一个CPU核心,它们是这样相关的:

(Wall time) - (CPU time) = (time the CPU spent doing other things) 

所以在一个简单的例子中,如果你运行一个进程,它需要10秒,但你得到7个CPU秒的测量,那么在这10秒钟内,CPU花了3秒时间来执行你的进程。

CPU时间一般分为两种types:

  • “sys”或“kernel”时间,或者内核花费在你的进程上的时间 – 运行I / O,定时器,互斥量,任何
  • “用户”时间或由用户空间中的进程运行的执行

举个例子:

 $ time sleep 1 real 0m1.005s user 0m0.000s sys 0m0.002s 

在这种情况下,我们睡了一秒钟。 系统在内核空间花了2/1000秒,可能为我们设置了定时器和中断,没有时间在用户空间,整个事情花了1.005秒运行,这意味着在这段时间内计算机花费了额外的0.003秒除了处理我们的过程之外的其他事情。

关于我的头顶,我不知道如何或为什么你会得到一个明显的CPU时间负数。

在UNIX方面,CPU秒数是用户时间加上进程本身的系统时间,而不是真实(挂钟)时间和subprocess花费的时间。

在AMD双核心CPU的情况下,我看到了几年前的负面CPU时代。 有一个处理器驱动程序更新,解决了这个问题。 基本上两个处理器之间的时间漂移​​,造成的问题,如负CPU时间和负面的平时间。

“CPU秒”是运行进程或线程的第二个CPU周期。 您可以通过将其除以CPU使用率来将其转换为挂墙时间:

15 CPU秒/ 50%CPU使用率= 30秒钟

负的CPU时间是测量过程中的一个小故障,可能是溢出。