번 (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