노트북 전원을 꽂는 순간 GPU 속도가 5분의 1토막 나고, 케이블을 뽑으면 오히려 정상 속도로 돌아간다면 무엇이 원인일까요? MSI Prestige RTX Spark 같은 최신 AI 노트북에서 리눅스를 사용할 때 실제로 보고되는 역전 현상입니다. MindStudio.ai가 같은 장비에서 여러 운영체제를 직접 비교한 결과, 네이티브 리눅스의 충전 상태 추론 성능은 13.9 토큰/초(초당 생성하는 토큰 수. 토큰은 문장을 분석하기 좋게 나눈 작은 문자 단위입니다)에 그친 반면, Windows와 WSL(Windows 하위 시스템 for Linux)은 각각 65.4와 65.1 토큰/초로 거의 같은 속도를 기록했습니다 1. 온도는 40~47°C로 낮은 편이라 열 때문에 속도가 줄어드는 현상(스로틀링)이 아니었습니다 1. 문제는 하드웨어의 열이 아니라 소프트웨어가 전원 공급 방식에 따라 어떻게 반응하느냐에 있습니다.

AI 노트북을 리눅스로 쓰려는 이유와 RTX Spark라는 존재

AI 노트북을 리눅스로 쓰려는 이유와 RTX Spark라는 존재

RTX Spark는 DGX Spark라는 데스크톱 장비에서 쓰이는 GB10 GPU 설계를 노트북으로 옮긴 플랫폼입니다. MSI Prestige, Asus ProArt, Dell XPS 같은 제품군에 탑재되며, CPU와 GPU가 메모리를 최대 128GB까지 나눠 쓰는 통합 메모리 구조를 갖췄습니다 1. 이렇게 큰 메모리를 한 몸처럼 쓸 수 있기 때문에, 1200억 파라미터급 같은 대형 언어 모델을 로컬에서 돌려보려는 개발자들이 이 장비를 눈여겨봅니다. 그런데 이 장비들은 출고 시 ARM 기반 Windows가 설치되어 나옵니다 1.

문제는 AI 도구 생태계입니다. vLLM이나 SGLang처럼 실제 AI 추론에 널리 쓰이는 도구들은 리눅스에 우선순위를 두고 개발되는 경향이 있습니다. 리눅스에서의 추론이라는 것은, 사용자가 던진 질문에 대해 언어 모델이 토큰을 하나씩 만들어내는 계산 과정을 말합니다. 이 작업을 지체 없이 처리하려면 GPU가 빠른 속도(클럭)로 계속 연산해야 합니다. 그래서 이 노트북 사용자들은 Windows를 지우지 않고 옆에 리눅스를 함께 설치하는 듀얼부팅(두 운영체제를 한 기기에서 고를 수 있게 놓는 방식)을 시도합니다 1. MindStudio.ai의 실험은 바로 이 지점에서 출발합니다.

같은 노트북에서 드러난 네 환경의 온도

같은 노트북에서 드러난 네 환경의 온도

MindStudio.ai는 MSI Prestige RTX Spark에서 1200억 파라미터 모델(GPT-OSS-120B)을 돌리며 Windows, WSL, 네이티브 리눅스 세 환경을 측정하고, 별도로 Nvidia DGX Spark 데스크톱의 같은 모델 추론 속도를 비교 기준으로 제시했습니다. 결과를 표로 정리하면 차이가 한눈에 들어옵니다.

실행 환경GPT-OSS-120B 추론 속도GPU 클럭(충전 상태)
Windows (노트북)65.4 토큰/초약 2.2 GHz
WSL (노트북)65.1 토큰/초—
DGX Spark (데스크톱)61 토큰/초—
네이티브 리눅스 (노트북)13.9 토큰/초약 780~790 MHz

[표 출처: 1]

같은 노트북의 네이티브 리눅스 환경만 유독 13.9 토큰/초로, 나머지보다 약 5배 느렸습니다 1. 이 격차는 다른 방식으로도 재현됩니다. vLLM으로 8개의 요청을 동시에 처리하는 실험에서 WSL은 127 토큰/초, 네이티브 리눅스는 39.5 토큰/초를 기록했습니다 1. 시간을 기준으로 보면 Windows는 약 8분, 리눅스는 37분이 걸렸고, 이 기간 GPU는 Windows에서 약 2.2 GHz, 리눅스에서 약 790 MHz에 머물렀습니다 1.

가장 흥미로운 대목은 여기서 방향이 뒤집힌다는 점입니다. 노트북을 콘센트에서 뽑아 배터리로 돌리면, 리눅스 환경의 GPU 클럭이 약 1,800 MHz까지 올라가 Windows와 비슷한 속도를 되찾습니다 1. LM Studio라는 프로그램으로 확인한 배터리 상태 추론 속도는 61~67 토큰/초였던 반면, 같은 시험을 콘센트에 꽂은 채로 하면 15 토큰/초 근처로 떨어졌습니다 1. 즉 충전기가 성능의 적이 아니라, 충전기라는 조건이 붙었을 때만 어떤 문제가 드러나는 셈입니다.

원인은 '전력 예산'을 나누는 윈도우 전용 부품

이 역설을 풀 단서는 Windows 장치 관리자에서 확인할 수 있는 'Nvidia Platform Controllers and Framework'라는 소프트웨어 구성 요소입니다. 데스크톱인 DGX Spark는 GPU에 전선을 따로 공급하면 되지만, 노트북은 다릅니다. 한 몸 안에 들어간 CPU와 GPU가 정해진 전력 예산을 나눠 써야 하기 때문에, 어느 쪽에 전력을 얼마나 실어보낼지 실시간으로 조정하는 조율자 역할이 필요합니다 1. Platform Controllers and Framework(하드웨어 ID는 ACPI\NVDA0820)가 바로 그 조율자입니다 2.

MindStudio.ai는 이 조율자를 Windows에서 끄는 대조 실험을 진행했습니다. 그러자 추론 속도가 83 토큰/초에서 약 31로 떨어지고, 클럭이 2 GHz에서 786 MHz로 내려앉아 리눅스 충전 상태와 똑같은 병목이 재현됐습니다. 다시 켜자 즉시 정상 속도로 돌아왔습니다 1. 즉 원인은 커널도, 배포판도, GPU 드라이버 자체도 아니며 이 단일 구성 요소가 맞습니다.

왜 리눅스에서는 이 조율자가 고장 난 것처럼 행동할까요. 조율자가 전력을 나누려면 펌웨어(하드웨어에 내장된 낮은 수준의 프로그램)가 건네는 '전력 설정 표'를 읽어야 합니다. 그런데 이 표가 암호화되어 있습니다. Windows에는 이 표를 풀어읽는 열쇠(복호화 키)가 있지만, 현재 리눅스 드라이버에는 그 열쇠가 없어 표를 해석하지 못합니다 1. 열쇠가 없으니 전력 배분을 다시 계산해야 하는 충전 상황에서 GPU를 제 속도로 끌어올리는 명령을 내리지 못해 클럭이 약 780 MHz에 묶이는 것입니다. 실험 과정에서 여러 소프트웨어 우회를 시도했지만 모두 실패했고, 한 시도는 커널 패닉(운영체제가 멈추는 현상)까지 부른 것으로 보고됐습니다 1. 참고로 Nvidia가 이 표를 왜 암호화했는지에 대해서는 커뮤니티에서 '지식재산 보호'라는 해석과 '의도된 윈도우 종속'이라는 비판이 함께 오갔으며, 어느 쪽이 사실인지는 실험으로 확정되지 않았습니다 3.

지금 당장 쓸 수 있는 가장 현실적인 답은 WSL

지금 당장 쓸 수 있는 가장 현실적인 답은 WSL

Nvidia가 이 전력 관리 로직을 리눅스 드라이버로 옮겨오거나 복호화 키를 공개하기 전까지는, WSL(Windows 하위 시스템 for Linux)이 사실상 유일한 대안입니다 1, 3. WSL은 Windows 안에서 리눅스 환경을 얹어 쓰는 방식이라, Windows가 이미 가진 GPU 부스트(클럭을 끌어올리는 동작)를 그대로 물려받습니다. 그래서 콘센트에 꽂든 배터리로 돌든 클럭 저하 없이 vLLM 같은 리눅스 우선 최적화 AI 도구를 굴릴 수 있습니다 1.

다만 ArchWiki는 GSP 펌웨어가 Ampere GPU를 탑재한 일부 노트북에서 완전한 실패를 일으킬 수 있다고 별도로 경고하므로, 드라이버 구성은 각자의 하드웨어에서 개별 확인이 필요합니다 4.

정리하면, RTX Spark 노트북에서 리눅스 추론 속도가 뚝 떨어지는 증상은 '열'이나 '하드웨어 결함'이 아니라, 암호화된 전력 표를 풀어읽을 열쇠가 없는 리눅스 드라이버의 한계에서 비롯됩니다 1. 충전 케이블 자체가 성능을 깎는 것이 아니라, 전원을 연결해 CPU와 GPU 사이 전력 배분을 다시 계산해야 하는 순간에만 이 부재가 드러나는 구조입니다. 이 결론은 MSI Prestige RTX Spark에서 GPT-OSS-120B를 돌린 네이티브 리눅스 조합에서 확인된 것이며, Nvidia가 같은 전력 관리 로직을 리눅스 드라이버에 추가하기 전까지는 WSL을 통해 Windows 드라이버 스택 위에서 온전한 속도를 챙기는 것이 가장 안전한 선택입니다.

참고자료

  1. ↩
  2. ↩
  3. ↩
  4. NVIDIA - ArchWiki · wiki.archlinux.org
    ↩