post
nbd-vram - Linux에서 NVIDIA GPU VRAM을 스왑 공간으로 사용하는 도구
nbd-vram은 Linux에서 NVIDIA GPU의 유휴 VRAM을 높은 우선순위의 스왑 공간으로 쓰게 해주는 작은 데몬임 납땜 메모리라 업그레이드가 어렵고 내장 AMD/ATI GPU가 화면 출력을 맡는 하이브리드 그래픽 노트북에서, 놀고 있는 NVIDIA VRAM을 메모리 압박 완화에 활용함
한 줄 요약
nbd-vram은 Linux에서 NVIDIA GPU의 유휴 VRAM을 높은 우선순위의 스왑 공간으로 쓰게 해주는 작은 데몬임
핵심 내용
nbd-vram은 Linux에서 NVIDIA GPU의 유휴 VRAM을 높은 우선순위의 스왑 공간으로 쓰게 해주는 작은 데몬임
납땜 메모리라 업그레이드가 어렵고 내장 AMD/ATI GPU가 화면 출력을 맡는 하이브리드 그래픽 노트북에서, 놀고 있는 NVIDIA VRAM을 메모리 압박 완화에 활용함
테스트 환경은 AMD/ATI + RTX 3070 Laptop, RAM 16GB, VRAM 8GB, NVIDIA driver 580.159.03, kernel 6.17, Pop!_OS이며, VRAM 7GB를 스왑으로 할당해 zram·SSD 스왑까지 합쳐 약 46GB의…
동작 순서는 RAM이 먼저 차고, 그다음 VRAM이 PCIe를 통해 넘친 페이지를 흡수하며, 이후 zram이 CPU로 압축하고, 마지막에 SSD를 사용하는 구조임
데몬은 CUDA driver API로 VRAM을 할당하고, Unix socket 위의 NBD(Network Block Device) 프로토콜로 블록 장치를 제공하며, 커널의 내장 nbd 드라이버가 /dev/nbdX로 노출해 일반 스왑 장치처럼 사용함
왜 중요한가
납땜 메모리라 업그레이드가 어렵고 내장 AMD/ATI GPU가 화면 출력을 맡는 하이브리드 그래픽 노트북에서, 놀고 있는 NVIDIA VRAM을 메모리 압박 완화에 활용함 테스트 환경은 AMD/ATI + RTX 3070 Laptop, RAM 16GB, VRAM 8GB, NVIDIA driver 580.159.03, kernel 6.17, Pop!_OS이며, VRAM 7GB를 스왑으로 할당해 zram·SSD 스왑까지 합쳐 약 46GB의 주소 지정 가능한 메모리를 구성함 동작 순서는 RAM이 먼저 차고, 그다음 VRAM이 PCIe를 통해 넘친 페이지를 흡수하며, 이후 zram이 CPU로 압축하고, 마지막에 SSD를 사용하는 구조임
참조한 것 · 가져온 것
원문: https://github.com/c0dejedi/nbd-vram
GeekNews: https://news.hada.io/topic?id=30148