System Idle Process가 CPU를 많이 사용하는 이유
작업관리자를 열어보니 System Idle Process가
CPU의 90% 이상을 사용하고 있다는 것을 알게 된 적이 있습니까?
과연 System Idle Process는 무슨 일을 하는 프로그램이기에
이렇게 CPU를 많이 차지하는 걸까요?
이 프로세스가 실제로 하는 일은 다음과 같습니다.
System Idle Process란 어떤 것일까?
작업 관리자를 탐색해 본 적이 있는 경우
(Windows 10 사용자는 「상세」탭을 참조할 필요가 있습니다).
System Idle Process가 CPU의 대부분을 사용하고 있는 것을 알 수 있습니다.
다만, System Idle Process는 operating system에 의해서
실행되는 Idle Process입니다.
이 프로세스가 프로세서를 항상 작업에 집중시키지 않으면
시스템이 동결될 수 있습니다.
즉, System Idle Process에서 사용되는
CPU 리소스는 사용되지 않는 CPU 리소스일 뿐입니다.
프로그램이 CPU의 5%를 사용하는 경우
시스템 유휴 프로세스는 CPU의 95%를 사용합니다.
단순한 자리 표시자로 생각하면 됩니다.
그래서 작업 관리자는 이 프로세스를
"프로세서가 유휴 상태인 시간 비율"이라고 설명합니다.
PID(프로세스 식별자)는 0입니다.
Windows 에서는, Windows 10 의 태스크 매니저의
통상의 프로세스 탭으로부터 System Idle Process 정보를 숨김으로써
조작을 심플하게 합니다만, 「상세」탭에는 표시됩니다.
Windows에서 System Idle Process가 필요한 이유
이 프로세스를 실행하지 않으면 프로세서가
항상 작업에 집중되지 않아 시스템이 정지될 수 있습니다.
Windows는 이 프로세스를 SYSTEM 사용자 계정의
일부로 실행하므로 Windows가 실행되는 동안
항상 백그라운드에서 활성화됩니다.
시스템 아이돌 프로세스는 1993년부터
Windows NT 운영체제에 네이티브로 사용되고 있습니다.
또한 Linux 등의 Unix 계열 운영체제에도 표시되지만
동작은 조금 다릅니다.
System Idle Process는 멀티프로세서 시스템의
각 CPU 코어에서 단일 스레드를 실행하는 OS의 일반적인 부분입니다.
하이퍼스레딩을 사용하는 시스템은
논리 프로세서당 하나의 아이돌 스레드를 가집니다.
System Idle Process의 유일한 목적은
CPU가 다음 연산 또는 프로세스가 입력되기를
기다리는 동안 말 그대로 어떤 작업(무엇이든)을 계속하도록 하는 것입니다.
이 모든 것이 동작하는 이유는 아이돌 스레드가
제로 priority를 사용하기 때문입니다.
이는 일반 스레드보다 낮기 때문에
OS가 정규 프로세스를 실행할 때 스레드를 큐에서 밀어낼 수 있습니다.
CPU가 그 작업을 완료하면 System Idle Process를 다시 처리할 수 있습니다.
아이돌 스레드가 항상 Ready 상태로 되어 있으면
(아직 실행되지 않은 경우) CPU는 계속 가동되며 OS가 던지는 모든 것을 기다립니다.
CPU 사용률이 높은 이유
앞서 설명한 바와 같이 이 프로세스에서는
CPU가 많이 사용되는 것으로 보입니다.
이는 태스크 매니저를 열면 리소스가 많이 사용되는 프로세스를 찾을 수 있습니다.
CPU가 아이돌 상태일 때만 OS 스케줄러에 의해
실행되는 특수한 작업이기 때문에 이는 정상적인 작업입니다.
많은 처리 능력을 필요로 하는 작업을 하지 않는 한
매우 높은 처리 능력을 필요로 하는 것으로 보입니다.
작업 관리자에서 프로세스 옆에 있는 숫자를 이해하려면
일반적으로 이해하는 것과 반대되는 것을 생각해야 합니다.
이 값은 사용 중인 CPU의 비율이 아니라
사용 가능한 CPU의 비율을 나타냅니다.
프로그램이 CPU의 5%를 사용하고 있는 경우
SIP는 CPU의 95%를 사용하고 있거나
CPU의 95%가 사용되지 않거나 시스템 내의
다른 스레드에 의해 불필요한 것으로 표시됩니다.
시스템 아이돌 프로세스는 Windows 운영체제에 필수적인 부분으로
90% 이상 점유하고 있는 것처럼 보일 수 있지만
이는 사용 가능한 리소스를 보여주는 것일 뿐이며
현재 CPU는 아무런 작업을 수행하지 않습니다.
2022.10.19 - 설계 부품 표(EBOM)과 제조 부품 표(MBOM)의 사용법에 대하여
2022.12.26 - 색상의 16진수 코드란? 16진수의 색상 코드에 대해 알아보자
2023.05.14 - Windows 에러 코드, 0xc00000e5 오류 수정 방법
2023.02.17 - 앱 추적이 불가능한 DuckDuckGo의 유용한 5가지 기능
-
'IT 이것저것 > 유용한 업무 팁' 카테고리의 다른 글
CD와 DVD의 지속 시간 및 데이터 보관 가능 시간은? (2) | 2023.06.11 |
---|---|
ChatGPT가 잘못된 답을 제공하는 6가지 이유 (0) | 2023.06.06 |
rundl32.exe는 악성 코드일까? 실행 이유와 제거 방법 (0) | 2023.06.03 |
내 컴퓨터의 RAM 속도를 확인하는 방법에 대해 알아보자 (0) | 2023.05.31 |
SD 카드의 수명은 얼마나 되며 백업을 해 둬야 할까? (0) | 2023.05.30 |
댓글