我有大量基于Selenium的perl Testscripts。完成测试后,它会打印一个日志,如下所示。这指定了什么?如何计算以下时间以及基于什么基础
Files=1, Tests=17, 209 wallclock secs ( 0.13 usr + 0.01 sys = 0.14 CPU)
答案 0 :(得分:7)
209 wallclock secs ( 0.13 usr + 0.01 sys = 0.14 CPU)
运行需要209秒。这些秒数是根据墙上(或手腕上)的时钟所经过的时间。
大部分时间都花在等待某事上。等候?好吧,CPU花了很多时间等待,所以当时间流逝时,CPU没有正在计算正在计划的程序。我们知道这一点,因为据报道实际的CPU时间仅为0.14秒,这意味着几乎所有的209秒都在等待。
usermode花费的时间与syscalls花费的时间之间存在进一步的区别。简而言之,前者指的是CPU花费在您的程序上的时间,而后者指的是CPU处理系统调用所花费的时间,即代表您的程序调用操作系统的时间。
多核的附录:正如@ArtM指出的那样,或者更确切地说让我发现,usr
和sys
的时间对于所有内核都是累积的已经运行,这意味着可能存在总CPU时间或甚至usr
和sys
中的任何一个可能高于挂钟时间的情况,这可能看起来很奇怪但是当你认为有意义时关于多核的并行性。
如果您想了解有关此usr/sys
或用户模式与内核模式问题的详情,请查看this more comprehensive answer。