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 커널이 작동하는 방식입니까?