linux 上下文切换所花费的时间是否会计入某个进程的系统CPU时间?

s5a0g9ez  于 2023-05-22  发布在  Linux
关注(0)|答案(1)|浏览(149)

通常,%Sys代表进程内内核所花费的CPU时间。它包括分配内存或访问硬件(HDD,网络等)所花费的时间。这很容易理解,因为这些工作是由内核代表给定进程完成的。
然而,当事情涉及到上下文切换时,它就不再那么直观了。由于上下文切换不是“由给定进程请求并由内核完成”的事情,我想知道上下文切换时间将计入哪个进程的配额。

inn6fuwd

inn6fuwd1#

准确地说,“上下文切换”只是指从用户空间切换到内核空间,反之亦然。例如,执行系统调用意味着上下文切换,因此上下文切换经常由进程请求。
根据 * 非自愿 * 上下文切换(抢占),例如硬件和软件中断,默认情况下Linux会将花费在当前运行任务上的时间计算在内。如果内核配置了CONFIG_IRQ_TIME_ACCOUNTING=y,则中断处理时间不会计入当前任务,这会导致性能下降。

相关问题