您能更详细地解释一下 "用户CPU时间" 和 "系统CPU时间" 吗?我已经阅读了很多,但我还是不能理解得很好。
您能更详细地解释一下 "用户CPU时间" 和 "系统CPU时间" 吗?我已经阅读了很多,但我还是不能理解得很好。
差别在于时间是花费在用户空间还是内核空间。 用户 CPU 时间是在处理器上运行程序代码(或者库中的代码)所花费的时间; 系统 CPU 时间是为您的程序代表运行操作系统内核中的代码所花费的时间。
用户 CPU 时间: 处理器在特定程序上工作的时间。
系统 CPU 时间: 处理器在与该特定程序相关联的操作系统功能上工作的时间。
“用户 CPU 时间”这个术语可能一开始有点误导。要清楚,总时间(实际 CPU 时间)是CPU为程序执行某些操作以及CPU代表程序执行系统调用所花费的时间的组合。当一个程序循环遍历一个数组时,它会积累用户 CPU 时间。相反,当一个程序执行诸如 exec 或 fork 等系统调用时,它会积累系统 CPU 时间。
根据wikipedia:
- 用户时间是CPU在用户空间执行代码的时间。
- 系统时间是CPU在内核空间执行代码的时间。如果该值针对线程或进程报告,则表示内核代表执行上下文进行工作的时间,例如,在线程发出系统调用后。