NBD-VRAM:將 NVIDIA 顯示卡的 VRAM(顯示記憶體)用於 Linux 的交換分頁空間

NBD-VRAM 是一個針對 Linux 系統開發的開源工具,能將 NVIDIA 顯示卡中閒置的顯存(VRAM)轉換為高優先級的交換空間(Swap)。此計畫特別適合記憶體焊死且無法升級的筆記型電腦,透過 CUDA 與 NBD 協定將 GPU 資源化為系統緩衝。相較於傳統的 SSD 交換分區,這種方式能大幅降低存取延遲並減少硬碟損耗,提升系統在記憶體壓力下的流暢度。該工具具備多執行緒架構以防止系統當機,並提供自動化的電源管理功能。雖然在傳輸頻寬上受限於 PCIe 插槽,但在處理零碎分頁錯誤時表現遠優於實體硬碟。這項創新方案充分利用了閒置硬體資源,為受限於硬體規格的用戶提供了一個高效的虛擬記憶體擴充管道。

使用 VRAM 作為交換空間(Swap)比 SSD 快的主要原因在於極低的存取延遲(Latency)更高的並發處理能力(IOPS)穩定的效能表現

特點

  • 極低的延遲(Latency): 這是 VRAM 勝過 SSD 最關鍵的因素。在處理隨機的 4K 頁面錯誤(page faults)時,NVMe SSD 因為具有省電模式(APST),在處理零星請求時需要從睡眠狀態「喚醒」,平均延遲約為 8.7 毫秒(ms)。相比之下,VRAM 沒有電力狀態切換的問題,平均延遲僅約 257 微秒(us)速度快了約 34 倍。這種微秒級的反應速度能有效消除系統在記憶體壓力下產生的微小卡頓(stutter)。
  • 更高的並發 IOPS: 當系統面臨沉重壓力(例如並行編譯、開啟數十個瀏覽器標籤)時,多個 CPU 會同時要求交換頁面。在測試中,NBD-VRAM 在並發壓力下能達到約 31.2 萬 IOPS,而 NVMe SSD 在相同情況下可能因溫度升高導致降速,僅剩約 24 萬 IOPS
  • 效能不會因發熱而衰減: NVMe SSD 的效能會隨著驅動器溫度升高而大幅波動(受限於散熱),而 NBD-VRAM 的效能表現則相對穩定,不論在何種負載下都能維持一致的吞吐量。
  • 更適合交換空間的運作模式: Linux 核心的交換機制通常是移動隨機的 4K 頁面,而非大容量的連續數據流。雖然 SSD 在連續讀寫(Sequential throughput)上有其優勢,但在隨機讀寫的小檔案處理上,VRAM 的特性使其更適合作為高速交換層。
  • 硬體本質的優勢: VRAM 本質上是類似 DRAM 的高速存儲介質,其讀寫速度雖然受限於 PCIe 頻寬而無法完全發揮原生速度,但相較於傳統基於快閃記憶體(NAND)的 SSD,其傳輸速度已有大幅躍進。

此外,使用 VRAM 作為交換空間還有一個非效能上的優點:保護 SSD 壽命。交換空間屬於寫入密集型作業,將這些寫入負擔轉移到具備「零磨損」特性的 VRAM 上,可以節省 SSD 的寫入週期,這對筆記型電腦尤為重要

blog.ocam.live
blog.ocam.live

關注科技新聞、SEO、人工智慧、電玩模擬器、程式設言、與 IT 日常等議題,深入簡出文章的說明並持續追蹤相關新聞的發展與報導。