我完全支持这个话题。
昨天我正在为我正在编写的一些脚本进行分析,而花费的时间单位是“ CPU秒 ”。 任何人都可以提醒我的定义吗?
例如对于一些分析我得到: 200.750 CPU秒 。 这是什么意思? 在其他情况下和耗时的过程中,我得到: -347.977 CPU秒 ,一个负数!
无论如何,我可以把那个时间转换成日历时间吗?
干杯,
一秒CPU是CPU的一秒钟。
stream程执行时间有两个度量:
假设一个CPU核心,它们是这样相关的:
(Wall time) - (CPU time) = (time the CPU spent doing other things)
所以在一个简单的例子中,如果你运行一个进程,它需要10秒,但你得到7个CPU秒的测量,那么在这10秒钟内,CPU花了3秒时间来执行你的进程。
CPU时间一般分为两种types:
举个例子:
$ 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时间是测量过程中的一个小故障,可能是溢出。