术语“用户 CPU 时间”起初可能有点误导。明确地说,总时间(实际 CPU 时间)是 CPU 为程序执行某些操作所花费的时间和 CPU 代表程序为内核执行系统调用所花费的时间的组合。当程序循环遍历数组时,它正在累积用户 CPU 时间。反之,当程序执行 exec 或 fork 等系统调用时,它正在累积系统 CPU 时间
挂钟时间是计算机完成一项任务所用的实际时间。它是三个项的总和:CPU 时间、I/O 时间和通信通道延迟(例如,如果数据分散在多台机器上)。与 CPU 时间相比,CPU 时间仅测量处理器积极处理某个任务的时间,而壁时间测量进程完成的总时间。两者之间的差异包括由于程序延迟或等待资源变得可用而经过的时间。
挂钟时间是执行一项工作所花费的实际时间。这相当于用秒表计时您的工作,完成任务的测量时间可能会受到系统当时正在执行的任何其他操作的影响。
用户时间衡量 CPU 运行代码所花费的时间。这不计算可能正在运行的任何其他内容,也不计算内核中花费的 CPU 时间(例如文件 I/O)。
CPU 时间衡量 CPU 用于运行代码或代码请求的任何内容的总时间。这包括内核时间。
“用户时间”测量可能最适合测量不同作业的性能,因为它受系统上发生的其他事情的影响最小。
来自维基百科:
挂钟时间是您使用秒表测量运行时间时所获得的时间。用户时间是 CPU 专门运行您的作业中的代码所花费的时间(这不包括您的作业可能执行的系统调用)。CPU 时间是 CPU 主动运行代码并包括可能的系统调用所花费的时间。