CPU 및 다양한 모드와 관련된 C 상태에 대한 설명
- CPU는 유휴 상태일 때 에너지를 절약하기 위해 CPU에 저전력 모드를 시작하도록 명령 가능
- CPU는 여러 전력 모드를 종합적으로 "C-State" 또는 "C-Mode"라고 칭함
- 최근에는 CPU의 전력 소비를 줄일 수 있도록 향상 → C-State는 CPU의 기능을 하나씩 종료시켜서 전력 소모를 줄임
- CPU 내부의 유휴 장치에서 클록 신호와 전원을 차단하면 작동 → 클록을 차단하고 전압을 줄이거나 완전히 종료하여 더 많은 장치를 중지할수록 더 많은 에너지가 절약
- C-state는 보다 공격적인 방법으로 전력소모를 최소화하여 절전모드에 주로 사용
- CPU가 절전 모드에서 완전히 "해제"되는 데 더 많은 시간이 발생
- C-State는 C0에서 시작 → 정상 CPU 작동 모드(100% CPU 활성화)
- C 번호가 클수록 CPU 절전 모드가 더 길게 설정 → 즉, 더 많은 회로와 신호가 꺼져 있고 CPU가 C0 모드로 완전히 해제되는 데 더 많은 시간이 걸림
- 각 C-State에는 이름 有 → 몇 개에는 절전 수준과 해제 시간이 각각 다른 하위 모드가 존재
- 최근에는 C7 기술이 추가되었는데 이는 최종적으로 남아있는 L3 공유 캐시까지 작동을 멈춰, DDR3 메모리나 PCI-Express 연결과 관련된 전력도 차단
현재 사용 가능한 모든 C-State 모드 요약본
- C1~C3 모드는 CPU의 클록 신호를 차단하면 작동
- C4~C6 모드는 CPU 전압을 줄이면 작동
- "향상된" 모드는 동시에 모두 실행 가능
C-states 상태
※ 주의 → 전력관리 기술 적용에 따라 성능 저하 발생 가능
- CPU의 C-State 기술은 전력의 효율성을 높이기 위한 전력관리 기술들의 기반
- CPU의 C-State 기술은 CPU 자체의 클럭이나 전압을 크게 낮추고 대기모드에 들어가는 작업을 행함
- CPU의 클럭이나 전압을 줄여 소비전력을 줄이는 단계로 진입했다 다시 기본 클럭으로 돌아오는 과정에서의 지연이나 기본클럭 및 전압이 복귀되지 못하는 등으로 CPU 성능이나 그래픽카드 등의 성능이 저하 가능
- CPU의 경우 전력관리 기능의 버그로 인해 성능이 제대로 나타나지 못하는 문제들이 종종 발생
- C-state 레벨에 따라 코어 내부 클럭이 중단되거나 L1/L2 캐시 Flush 및 Off 시키는 등의 동작이 발생
- 레벨이 높아질수록 많은 컴포넌트들이 꺼짐으로써 전력 소모량은 줄지만, 그에 비례해서 정상 상태(C0)로 복귀하는데 더 많은 리소스와 시간이 소요되는 문제
- DB 서버에서 발생했던 connect timeout 현상의 원인 역시 높은 레벨의 C-states 상태에서 정상 상태(C0)로 복귀하면서 DB 접속(정확히는 네트워크 연결) 과정에 지연이 발생
- C-State 참고 자료 : http://emal.iptime.org/noriwiki/index.php/C-state
- DELL 참고 자료 : https://www.dell.com/support/kbdoc/ko-kr/000060621/c-state%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
'OS(운영체제) > 리눅스(Linux)' 카테고리의 다른 글
RHEL7 - intel_idle과 C/G/S/P States (0) | 2022.07.21 |
---|---|
P-State (Performance-state) → CPU를 사용하는 active 상태 (0) | 2022.07.21 |
Linux 접속 로그 → btmp, wtmp, utmp, lastlog (0) | 2022.07.18 |
[cache] Write Through와 Write Back 비교 (0) | 2022.07.18 |
프로세스가 사용하는 메모리의 양 확인 정보 → VIRT, RES, SHR (0) | 2022.07.18 |