GitHub Repo
vLLM 社群測試:WSL2 啟用鎖頁記憶體,單卡解碼延遲降低約 12%
一組單機測試顯示,調整記憶體設定可減少解碼時的 GPU 等待。官方仍維持預設關閉,收益與容量限制須依部署環境驗證。

9 月 26 日,vLLM 社群公布一組 WSL2 對照測試:在 RTX 3090、vLLM 0.30.0 與 Qwen3-8B-AWQ 上,啟用鎖頁記憶體後,每個輸出詞元的間隔由約 8.7–9.0 毫秒降至 7.7–7.8 毫秒,降低約 12%。這是使用者提交的效能證據,目前尚無預設設定變更。[測試回報](https://github.com/vllm-project/vllm/issues/58849)
此次調整不需重新量化模型,而是在啟動前設定 `VLLM_WSL2_ENABLE_PIN_MEMORY=1`。官方文件列出的預設值仍為零,說明相容的 WSL2 核心可支援鎖頁記憶體,但過去的小幅效能退步使它維持選用。工程團隊已有可測試的開關,無須等待新版本。[環境變數文件](https://docs.vllm.ai/en/latest/configuration/env_vars/)
此次剖析回報,開關前後 GPU 忙碌時間近乎不變,空閒時間卻由每步 1.29 毫秒降至 0.16 毫秒;據此推測,主要收益來自減少資料傳輸造成的等待。[效能剖析](https://github.com/vllm-project/vllm/issues/58849)
這也涉及新版執行器的相容性設計。Model Runner V2 原本利用需要鎖頁記憶體的統一虛擬定址(UVA)與固定指標;9 月 15 日合併的變更,讓未支援或未啟用鎖頁記憶體的平台也能運作。能成功啟動之後,不同記憶體路徑的效能差距因此成為值得重新量測的問題。從部署角度看,這提示本機服務的調校除了比較模型大小與量化格式,也應確認執行器實際採用的資料存取路徑。[上游修補](https://github.com/vllm-project/vllm/pull/56908)
限制在於此次只有一台機器;單請求延遲測試交替執行開、關兩組,每組兩輪、每輪三個請求,並固定 KV 快取容量。它提供可重現的設定,仍不足以推論其他顯示卡或正式服務負載都有同樣收益。[測試方法](https://github.com/vllm-project/vllm/issues/58849)
鎖頁記憶體讓系統記憶體頁面保持駐留,供 GPU 存取。NVIDIA 指出,WSL2 可用的鎖頁系統記憶體有容量限制,部分工作負載可能超限而無法運作。工程師接下來應在固定模型、快取容量與併發量下比較延遲分布、吞吐量及記憶體占用;互動聊天可關注逐詞元延遲,批次服務則應檢查負載提高後是否仍有收益,再觀察跨硬體重測結果與上游是否調整預設值。[CUDA on WSL 文件](https://docs.nvidia.com/cuda/wsl-user-guide/index.html)