CPUタスクを監視しようとして興味深い点が見つかりました。
まず、次の名前のスクリプトがありますtask.sh
。
#!/bin/sh
for i in {1..999}; do
sleep 2
echo $$
次に、実行中のCPUの数を取得するために、./task.sh
コマンドを複数回実行しながら実行します。ps -Lo psr $(pgrep task)
./task.sh
出力が変更されていることがわかります。
それでは、これは一時停止(休止)状態から実行状態に移行するすべてのジョブにCPUが再割り当てされることを意味しますか?これはLinuxカーネルがどのように機能するのでしょうか?