进程在终止之前可以分配给另一个CPU吗?

进程在终止之前可以分配给另一个CPU吗?

我正在尝试监视 CPU 的操作,并且发现了一些有趣的事情。

首先我有一个脚本,名称task.sh如下:

#!/bin/sh

for i in {1..999}; do
    sleep 2
    echo $$

然后我执行./task.sh,同时多次执行该命令ps -Lo psr $(pgrep task)以获取正在执行的 CPU 数量./task.sh

我发现输出正在改变。

那么,这是否意味着CPU将被重新分配给任何从挂起(睡眠)转变为运行的任务? Linux内核就是这样工作的吗?

相关内容