USM turns idle NVIDIA VRAM into Linux swap
USM is a beta, NVIDIA-only Linux project that uses a user-space daemon to borrow idle VRAM through CUDA and expose it as a high-priority swap device through ublk, without requiring a kernel module. Developer kha333n reports that 5.5 GiB of VRAM with lz4 compression held about 16 GiB of application memory and averaged roughly 9 microseconds per page fault, versus about 55 microseconds plus overhead for NVMe. The project was tested on Ubuntu 26.04 with two laptops, and most of its code was written with Claude Code.
USM offers a practical way to use otherwise idle NVIDIA VRAM for memory swapping, but its reported performance and stability results remain developer-reported and limited to NVIDIA systems and two test laptops.
My 16 GB laptop (RTX 3050 6 GB, the Intel GPU drives the screen) slowed to a crawl whenever RAM hit about 90%, because swap lived on a DRAM-less NVMe drive. The NVIDIA card's memory sat idle the whole time.
USM makes that VRAM the first swap device:
\- a user-space daemon borrows VRAM through the CUDA driver API and serves it through ublk, so it's a normal swap device at the top priority (no kernel module, Secure Boot is fine)
\- lz4 compression: 5.5 GiB of VRAM holds about 16 GiB of app memory
\- about 9 µs per page fault, vs about 55 µs plus overhead from NVMe
\- \`usm off\`, or a Quick Settings toggle, gives the VRAM back in seconds, even with RAM full
#USM#NVIDIA#CUDA#ublk#Ubuntu 26.04#lz4#NVMe#zram#Claude Code