Skip to content

번 (CPU 분석) - 필수 개념 ​

1. CPU 스케줄링 (CPU Scheduling) ​

정의: 여러 프로세스가 CPU를 공유할 때, 어떤 프로세스가 언제 CPU를 사용할지 결정하는 것

현실적 예시:

1초 동안 4개의 프로세스가 있다면:
- Process A: 0.0 ~ 0.25초 CPU 사용
- Process B: 0.25 ~ 0.5초 CPU 사용
- Process C: 0.5 ~ 0.75초 CPU 사용
- Process D: 0.75 ~ 1.0초 CPU 사용

→ OS가 프로세스들을 번갈아가며 실행

우리 테스트에서:

CpuWorker가 5% ~ 30% CPU 사용
= OS가 CpuWorker에게 CPU 시간을 일부 할당
= 나머지 CPU는 다른 프로세스에 할당

2. CPU 사용률 (CPU Utilization) ​

정의: CPU가 실제로 작업하는 시간의 비율

계산:

CPU 사용률 = (실제 작업 시간 / 총 시간) × 100%

예:
- 1초 동안 0.3초 작업 → 30% CPU 사용률
- 1초 동안 0.05초 작업 → 5% CPU 사용률

로그에서 보이는 것:

2026-05-27 05:58:52,265 [INFO] [CpuWorker] Current Load: 5.00%
→ 지난 1초 동안 CPU를 5% 사용했다는 뜻

3. CPU 한계 (CPU Limit / Threshold) ​

정의: 특정 프로세스가 사용할 수 있는 최대 CPU 비율

우리 테스트:

CPU_MAX_OCCUPY=30%
= CpuWorker는 최대 30%까지만 CPU 사용 가능
= 30%를 초과하면 제한됨

현실적 예시:

컴퓨터 CPU가 100% 능력이라고 하면:
- 이 프로세스: 최대 30까지만 사용
- 다른 프로세스들: 나머지 70을 나눠 씀

4. Throttling (스로틀링 / 조절) ​

정의: CPU 사용을 의도적으로 줄이는 행위

우리 로그에서:

2026-05-27 05:59:12,998 [INFO] [CpuWorker] Peak reached (30.00%). Starting cooldown...

→ CPU가 30%에 도달하자 CPU 사용을 줄임 (throttle)

실생활 예시:

- 노트북 배터리 부족 → CPU 속도 낮춤
- 폰 발열 높음 → CPU 성능 제한
- 서버 부하 높음 → 특정 서비스 속도 제한

5. Cooldown (쿨다운 / 회복 시간) ​

정의: 과부하 상태에서 벗어나기 위해 대기하는 기간

우리 테스트에서:

Phase 1: CPU 상승 (5% → 30%)
         ↓
Phase 2: Cooldown 시작 (Peak reached)
         CPU를 30% → 5%로 낮춤
         약 16초 소요
         ↓
Phase 3: Cooldown 완료 (5%)
         다시 상승 시작

시간대:

05:59:12 - Cooldown 시작
05:59:28 - Cooldown 완료 (약 16초)

6. 워크로드 (Workload) ​

정의: 프로세스가 해야 할 일의 양 또는 강도

우리 테스트:

CpuWorker의 워크로드:
- 초기: 낮음 (5% CPU만 사용)
- 중간: 증가 (점점 더 많은 계산)
- 최고: 30% (최대 허용치)
- 쿨다운: 낮춤 (의도적으로 일을 줄임)

출처: Codyssey-B1/B4-2