挂钟时间,用户时间和cpu时间有什么区别


14

我们正在使用GridEngine运行计算作业。每个工作都会返回3次不同的时间:

  • 挂钟时间
  • 用户时间
  • CPU时间

这三个之间有什么区别?这三个中哪一个最适合比较两个应用程序/脚本的性能

Answers:


18

挂钟时间是执行作业所花费的实际时间。这等效于使用秒表为您的工作安排时间,并且完成系统的时间可能会受到系统当时正在执行的任何其他操作的影响。

用户时间可以衡量的CPU运行花费的金额你的代码。这不计算可能正在运行的任何其他内容,也不计算在内核中花费的CPU时间(例如用于文件I / O)。

CPU时间用于衡量CPU运行代码或代码请求的内容所花费的总时间。这包括内核时间。

“用户时间”度量可能最适合度量不同作业的性能,因为它受系统上其他情况的影响最小。


3

从维基百科:

首先,“用户CPU时间”一词可能会引起误解。要清除总时间(实际CPU时间),是CPU花在对某个程序执行某些操作上的时间量与CPU花在代表该程序对内核执行系统调用上的时间量的总和。当程序循环访问数组时,它正在累积用户CPU时间。相反,当程序执行诸如exec或fork的系统调用时,它正在累积系统CPU时间

挂钟时间是计算机完成任务所需的实际时间。它是三个术语的总和:CPU时间,I / O时间和通信通道延迟(例如,如果数据分散在多台计算机上)。与CPU时间(仅测量处理器积极地执行某项任务的时间)相比,墙时间测量的是整个过程完成的总时间。两者之间的差异包括由于编程延迟或等待资源可用而经过的时间。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.