열 스로틀링은 GPU 사용률이 잠깐 떨어지는 현상의 다른 이름이 아니다. 장치가 온도 한계를 지키기 위해 동작 주파수나 전력 상태를 낮춘 결과를 가리키며, 전력 모드 제한·과전류 보호·입력 대기·애플리케이션 병목도 비슷한 그래프를 만들 수 있다. 순간 TOPS나 첫 1분의 FPS만 보면 이 원인들이 한데 섞인다.

지속 성능은 온도가 안정된 뒤에도 지키는 처리량이다
이 글에서 지속 성능은 정해 둔 전력 모드, 주변온도, 냉각과 입력에서 온도가 평형에 가까워진 뒤에도 유지되는 처리량과 지연으로 정의한다. 시험 시작 직후의 차가운 방열판이 흡수한 열 덕분에 나온 수치는 예열 구간으로 분리한다. 워밍업 길이를 임의의 분으로 고정하기보다 온도와 클록의 변화율이 작아지는 시점을 로그에서 찾는다.
성능 값은 평균 FPS 하나가 아니라 프레임별 추론 지연과 처리량, 입력 큐, 드롭을 함께 남긴다. 평균은 유지되는데 상위 지연이 늘면 제어 루프가 간헐적으로 늦어질 수 있다. 반대로 GPU 클록이 낮아져도 입력이 원래 드문 작업이라면 사용자가 느끼는 처리량은 변하지 않을 수 있다. 원인과 영향은 별도 열이다.
NVIDIA가 공개한 Jetson Thor 제품 사양에는 40~130W 전력 범위가 표시된다. 이 범위는 선택 가능한 제품 조건이지 어떤 모드에서든 130W를 계속 소비하거나 같은 추론 성능을 낸다는 뜻이 아니다. 실제 모듈·캐리어·소프트웨어 릴리스의 `nvpmodel` 설정을 시험 기록에 함께 붙인다.
열 제한과 전력 제한, 입력 병목은 같은 현상이 아니다
그래프가 꺾인 시점에 온도만 보고 이름을 붙이지 않는다. 열 관리, 전력 모드, 과전류 보호와 애플리케이션 대기는 서로 다른 조치가 필요하다. 동일 모델을 두 번 돌리더라도 입력 공급이 달라지면 GPU 사용률이 달라지므로 다음 경계를 먼저 세운다.
| 관측된 변화 | 가능한 원인 | 같이 확인할 증거 | 바로 단정하면 안 되는 것 |
|---|---|---|---|
| 온도 상승 뒤 클록과 처리량이 함께 하락 | 열 DVFS | 온도 센서·클록·팬 상태·지연의 같은 시각 변화 | 온도 상관만으로 냉각 불량 확정 |
| 시작부터 일정한 낮은 클록 | 선택된 전력 모드 또는 클록 한계 | nvpmodel 모드·설정·재부팅 상태 | 장치가 과열됐다는 판단 |
| 전력 피크와 동시에 짧게 클록 하락 | 과전류·전력 보호 가능성 | 전력 레일·보호 상태·동시 부하 | 열 스로틀링으로 통칭 |
| GPU 사용률 하락, 온도·클록은 안정 | 입력·CPU·I/O·동기화 대기 | 큐 깊이·CPU·스토리지·전처리 시간 | GPU 성능 부족 |
| 평균 FPS 유지, 상위 지연 증가 | 큐잉 또는 간헐적 자원 경쟁 | 프레임별 지연 분포·드롭·백로그 | 문제가 없다는 판단 |
이 표는 진단 출발점이지 자동 판정기가 아니다. 여러 보호가 동시에 작동할 수 있고, 센서 갱신 주기가 짧은 이벤트를 놓칠 수도 있다. 그래서 각 실행의 원시 로그와 설정을 남겨 재현 여부를 확인한다.
짧은 벤치마크가 장시간 로봇 운전을 놓치는 이유
전통적인 가속기 벤치마크는 같은 입력을 반복해 최대 처리량을 비교하기 쉽다. 로봇에서는 센서 전처리, 네트워크, 녹화와 제어가 함께 실행되고 주변 공기가 계속 바뀐다. 팬 흡입구가 막히거나 밀폐된 본체 안의 공기가 데워지는 과정은 짧은 테스트에서 충분히 나타나지 않는다.
열에는 이력이 있다. 같은 시작 온도처럼 보여도 방열판과 섀시 내부가 머금은 열, 이전 부하와 팬 제어 상태가 다르면 꺾이는 시간이 달라진다. 실행 순서를 무작위로 섞거나 각 실행 전 복귀 조건을 정하고, 온도 복귀를 확인한 뒤 다음 조건을 시작해야 냉각안 비교가 의미를 갖는다.
모델 최적화 전후를 비교할 때도 처리량만 맞추면 안 된다. 입력 크기, 정밀도, 배치 크기와 동시 프로세스를 고정한다. 최적화된 모델이 평균 전력을 낮춰 스로틀링 시점을 늦춘 것인지, 단순히 출력이나 입력 조건을 줄인 것인지 구분할 수 있어야 한다.
Thor의 보호 동작은 어떤 신호로 드러나는가
Jetson Thor 전력·성능 문서는 `nvpmodel` 전력 모드와 열 관리, 과전류 보호를 별도 메커니즘으로 설명한다. 열 제어에는 능동·수동 완화와 종료 보호가 포함될 수 있다. 보호용 sysfs 설정을 우회해 수치를 얻는 방식은 정상 운전의 성능 검증이 아니며 장치를 위험하게 만들 수 있다.
시험에서는 설정값과 관측값을 섞지 않는다. 선택한 전력 모드는 의도한 조건이고, 실제 클록·온도·전력은 장치가 그 조건에서 보인 결과다. 팬 명령도 실제 회전과 같다고 가정하지 않는다. 팬 상태를 읽을 수 있다면 함께 기록하고, 외부 팬이나 덕트를 썼다면 위치와 방향을 사진 또는 배치도로 남긴다.
Tegrastats 공식 문서는 RAM, CPU, EMC, GPU, 온도와 전력 관련 상태를 주기적으로 기록하는 방법을 제공한다. 다만 이 도구의 항목만으로 애플리케이션 지연을 알 수는 없다. 추론 프레임 ID와 시작·종료 시각을 같은 기준시계에 남겨 시스템 로그와 맞춘다.
시험이 실패하는 지점은 부하보다 조건 통제다
주변온도를 적지 않은 결과는 다른 계절이나 섀시에서 재사용하기 어렵다. 흡입 공기 온도와 장치 센서값은 다르므로 가능하면 둘을 분리한다. 실험실 온도만 기록했다면 로봇 내부 흡입구가 더 뜨거웠을 수 있다는 제한도 보고서에 남긴다.
두 냉각안을 비교할 때 워크로드가 정확히 같아야 한다. 카메라 파일을 재생한다면 캐시 상태와 저장장치 영향을 확인하고, 실시간 센서를 쓴다면 프레임 수와 장면을 보존한다. 샘플 수가 적을 때 ‘스로틀링이 없다’고 쓰기보다 관측한 시간과 조건 안에서 온도·클록 하락이 검출되지 않았다고 표현한다.
전력과 열을 분리하려면 한 번에 하나의 축을 바꾼다. 같은 냉각에서 전력 모드를 바꾸고, 같은 전력 모드에서 팬·덕트 또는 주변온도를 바꾼다. 여러 축을 동시에 개선하면 성능은 나아져도 원인을 설명할 수 없어 다음 설계 변경 때 같은 문제가 돌아온다.
로그를 읽고 냉각 결정을 내리는 순서
먼저 로봇 엣지 컴퓨팅 열 스로틀링 시험의 일반 시험 틀을 참고하되 Thor의 전력 모드와 센서 항목으로 바꾼다. 비교 대상마다 같은 이미지, 같은 소프트웨어와 같은 모델 파일을 사용하고 변경 내역을 한 줄로 남긴다.
- 모듈·캐리어·소프트웨어 버전, nvpmodel 모드와 팬 설정을 실행 전에 저장한다.
- 흡입 공기와 장치 시작 온도가 복귀했는지 확인한 뒤 부하를 시작한다.
- 고정 입력으로 추론 지연·처리량·드롭과 Tegrastats의 온도·클록·전력 상태를 같은 시각에 기록한다.
- 온도와 클록이 안정된 구간을 따로 표시하고 예열 구간과 지속 구간의 지연 분포를 비교한다.
- 클록 하락 시점에 열, 전력 보호, 입력 큐와 CPU·I/O 중 무엇이 먼저 변했는지 살핀다.
- 냉각이나 전력 모드 한 축만 바꿔 반복한 뒤 원시 로그와 실패 조건을 함께 보존한다.
합격 기준은 제품의 최고 수치가 아니라 로봇 작업의 지연 한계에서 정한다. 가장 더운 예상 환경과 필요한 동시 부하에서 지연 상한, 드롭 허용과 복구 조건을 지키는지가 판단점이다. 보호 동작을 없애는 것이 목표가 아니라 보호 안에서 필요한 일을 지속하는 설계를 찾는 것이다.
Jetson AGX Thor 열 스로틀링 시험 실무 질문
열 스로틀링 시험 전에 반드시 고정해야 할 입력은 무엇인가요?
모델·정밀도·입력 크기·배치, 센서 또는 재생 데이터, 동시 프로세스, 전력 모드, 팬·덕트, 주변과 시작 온도를 고정한다. 장치·캐리어와 Jetson Linux 버전도 결과와 함께 남겨야 재시험이 가능하다.
온도가 높으면 무조건 열 스로틀링으로 판정하나요?
아니다. 온도 상승과 함께 클록·전력 상태와 애플리케이션 지연이 어떻게 변했는지 시간축으로 확인해야 한다. 시작부터 낮은 클록이면 전력 모드일 수 있고, 온도·클록이 안정적인데 GPU 사용률만 낮다면 입력 또는 CPU·I/O 대기일 수 있다.
자료 마지막 확인: 2026년 8월 26일