프로세스를 백그라운드에 놓으면 성능이 저하되나요?

프로세스를 백그라운드에 놓으면 성능이 저하되나요?

만약 내가한다면:

sleep 1 

비교적

sleep 1 & wait $!

포그라운드 프로세스와 백그라운드 프로세스를 생성할 때 CPU 사용량에 차이가 있습니까? 아니면 두 라인의 성능이 정확히 동일합니까?

답변1

이 두 명령을 사용하여 쉘은 1/ 절전을 수행하는 병렬 하위 프로세스를 생성하고 2/ 운영 체제에... 절전 프로세스가 끝날 때까지 쉘 프로세스를 일시 중지하도록 지시합니다. 그러면 성능은 동일합니다.

답변2

예.

내 시스템에서 첫 번째는 3.0밀리초가 걸리고 두 번째는 3.3밀리초의 CPU 시간이 걸립니다.

사실, 1초 동안 잠을 자면 CPU 시간이 0.3밀리초도 걱정되지 않습니다.

0.3ms는 아마도 배경 fork에 추가해야 하는 추가 콘텐츠 때문일 것입니다. sleep즉, 이는 백그라운드에서 작업을 실행하는 데 드는 10%의 추가 비용이 아니라 일회성 비용입니다.

관련 정보