Enterprise Infrastructure Intelligence ● Certified engineers online · Fast response guaranteed
리눅스/OS

리눅스 Thermal Control 프레임워크 아키텍처 및 실무

리눅스 커널의 Thermal Control(열 제어) 시스템은 온도 센서, 냉각 장치, 트립 포인트, 열 제어정책을 통합하는 프레임워크로, 하드웨어 온도를 모니터링하고 동적으로 CPU 주파수 또는 팬 제어를 수행합니다. 실무에서는 sysfs 인터페이스를 통해 열 영역을 관리하고, 여러 냉각 정책(step_wise, bang-bang, fair_share 등) 중 선택하여 시스템 과열을 방지합니다.

2026.09.09  ·  27회  · 

핵심 아키텍처

리눅스 Thermal Control은 4가지 주요 컴포넌트로 구성됩니다. Thermal Zone은 온도 센서와 그 정책을 대표하는 논리적 개체로, CPU, GPU, 전원 제어기 등 다양한 하드웨어 영역을 개별 모니터링합니다. Cooling Device는 CPU 주파수 스케일링, 팬 제어, GPU 주파수 조절 등 온도를 낮추는 실행 장치입니다. Trip Point는 온도 임계값으로 passive, active, critical 등 여러 유형이 존재하며, 이를 초과하면 커널은 자동으로 냉각 작동을 트리거합니다. Thermal Governor는 온도 상황에 대응하는 정책 엔진으로, step-wise(점진적 냉각), bang-bang(온/오프), fair-share(여러 냉각 장치에 부하 분산), power allocator 등이 지원됩니다.

sysfs 인터페이스 및 운영

/sys/class/thermal 경로를 통해 모든 열 영역과 냉각 장치에 접근할 수 있습니다. 각 thermal_zone[0-*]은 현재 온도(temp), 작동 모드(mode), 정책(policy), 트립 포인트 설정값과 유형(trip_point_*_temp/type) 등을 노출합니다. 냉각 장치는 cooling_device[0-*]로 표현되며, 최대/현재 냉각 상태(max_state, cur_state)를 제어합니다. 트립 포인트 초과 시 커널은 자동으로 해당하는 냉각 장치를 활성화하거나 상태를 높이며, critical 트립 포인트 초과 시 시스템 안전을 위해 orderly_poweroff()를 호출합니다.

실무 주의점

Hysteresis(히스테리시스) 값을 적절히 설정하여 임계값 근처에서의 온/오프 진동을 방지해야 합니다. CONFIG_THERMAL_EMULATION을 활성화하면 sysfs의 emul_temp 노드로 온도를 에뮬레이션하여 테스트할 수 있으나, 프로덕션 환경에서는 사용자 공간이 저온도 값으로 정책을 우회할 위험이 있습니다. Device Tree나 ACPI를 통해 열 영역과 냉각 장치의 바인딩을 사전 정의하거나, 드라이버 개발 시 thermal_zone_device_register() 및 thermal_cooling_device_register() API로 동적 등록할 때는 get_temp(), set_cur_state() 등 필수 콜백을 반드시 구현해야 합니다.

WIKIDATA WORKSTATION
AI·렌더링에 최적화된
전문가용 워크스테이션
NVIDIA RTX GPU · 최대 192GB 메모리 · ECC 지원