实时与处理时间

实时与处理时间

当我使用time命令测量某个进程的不同执行时间(在不同的硬件环境下)时,遇到了一个我不理解的现象。

real time第一次执行的时间为77 minutes82 minutes第二次执行的时间为。但是,user time第二次执行的时间为 6 分钟,同样,sys time第二次执行的时间为 1 分钟。

第一次执行的实际时间怎么会更好呢?
比较执行时间时,这 3 个时间中的哪一个是流程总体执行时间的良好指标?(我有一些打印出大量信息的流程和不打印任何信息的流程,如果这有什么区别的话)

答案1

如果我没记错的话:

  • real time表示时钟时间:它是进程运行所需的时间。此时间取决于系统上运行的进程数,因此这也许可以解释为什么实时在首次执行时更好。
  • user time表示归因于用户指令的 CPU 时间量。(用户模式,内核之外)
  • sys time是 CPU 在运行进程期间在内核中花费的时间量。例如,每当您使用readwrite方法时,在内核中执行此“服务”所花费的时间都计入此时间。

因此,在比较一般执行时间时,您可以使用user time + sys time

希望这可以帮助。

相关内容