哪些进程状态计入 CPU 时间?

哪些进程状态计入 CPU 时间?

我的两个观察(如有错误请纠正):

  • time在用于计时进程的输出中,

    “User”和“Sys”来自 wait (2) 或 times (2),具体取决于特定系统。

  • 在Linux内核中,进程状态“运行”和“就绪”(即可运行和在运行队列中等待)都用 表示TASK_RUNNING

哪些进程状态计入进程的 cpu 时间:

  • “跑步”
  • “准备好”
  • “正在运行”和“准备就绪”,即TASK_RUNNING

我的选择是“跑步”。但如果这是真的,由于TASK_RUNNINGLinux 内核不区分“运行”和“就绪”,那么如何time报告 cpu 时间呢?

答案1

为了计算时间,重要的是处理器的滴答声和进程在处理器上浪费的滴答声。如果您正在谈论进程在处理器上花费的时间,则必须对在用户和内核模式下运行时的滴答进行求和。

相关内容