量子和 CPU 浪费时间
Quantum and CPU time wasting
我听说如果一个线程没有用完 OS 的线程调度程序分配的整个 时间片 剩下的就浪费了:例如如果时间片是 10ms 并且线程在 5ms 之前结束,则剩余的 5ms 将丢失。
所以如果你有很多小的快速任务总是比最初分配的时间片花费更少的时间,那么整个系统的浪费可能很重要。
如果这是真的,我想对于标准工作负载,影响可以忽略不计,并且仅在服务器等特定用例中才会引起关注 运行 单一类型的任务。
你确认了吗?
你有更多信息吗?
I've heard that if a thread does not consume the entire time-slice
allocated by the OS's thread-scheduler the remainder is wasted
我不这么认为。对于 linux,运行 任务在退出时进入终止状态,从而释放处理器:
... but if the OS's scheduler only "wakes up" at fixed times (e.g. with a
frequency of 10ms/100 times per second)
只要需要安排任务,就会调用调度程序。当分配给 运行 任务的时间已到期(这不一定意味着修复频率)时会发生这种情况,但也会在 IO/events、退出和其他情况下发生。
我听说如果一个线程没有用完 OS 的线程调度程序分配的整个 时间片 剩下的就浪费了:例如如果时间片是 10ms 并且线程在 5ms 之前结束,则剩余的 5ms 将丢失。
所以如果你有很多小的快速任务总是比最初分配的时间片花费更少的时间,那么整个系统的浪费可能很重要。
如果这是真的,我想对于标准工作负载,影响可以忽略不计,并且仅在服务器等特定用例中才会引起关注 运行 单一类型的任务。
你确认了吗?
你有更多信息吗?
I've heard that if a thread does not consume the entire time-slice allocated by the OS's thread-scheduler the remainder is wasted
我不这么认为。对于 linux,运行 任务在退出时进入终止状态,从而释放处理器:
... but if the OS's scheduler only "wakes up" at fixed times (e.g. with a frequency of 10ms/100 times per second)
只要需要安排任务,就会调用调度程序。当分配给 运行 任务的时间已到期(这不一定意味着修复频率)时会发生这种情况,但也会在 IO/events、退出和其他情况下发生。