解決 VmmemWSL 記憶體佔用過高、當機的方法(含 .wslconfig 設定)

by | 8 月 20, 2025 | Frontend

不少人在用 WSL(Windows Subsystem for Linux)時,發現記憶體異常高,一查發現是 VmmemWSL 佔用太多 RAM,甚至讓電腦卡到爆。這篇教你怎麼限制 WSL 用量、定期清理,根治這個問題。

1. 建立 .wslconfig 限制 WSL 用量

    Step 1:打開使用者資料夾

    按下 Windows + R,輸入以下指令後按 Enter:

    %UserProfile%

    這會直接打開你的使用者資料夾(例如 C:\Users\你的帳號)。

    Step 2:新增 .wslconfig 設定檔

    在該資料夾內:

    • 新增檔案 .wslconfig(要顯示副檔名的話,請在檔案總管上方選「檢視」→ 勾選「副檔名」)
    • 如果已經存在 .wslconfig,可以直接覆蓋內容

    Step 3:貼上設定內容

    用記事本編輯 .wslconfig,輸入以下內容:

    [wsl2]
    memory=4GB
    processors=4
    swap=0

    說明:

    • memory:限制最多記憶體,例如 4GB(也可改成 2GB、8GB…)
    • processors:限制 CPU 核心數
    • swap=0:關閉 swap,避免使用硬碟虛擬記憶體佔空間

    Step 4:套用設定

    開啟 PowerShell(或 CMD),輸入:

    wsl --shutdown

    這行會關閉所有正在執行的 WSL instance,讓設定立即生效。

    二、其他建議操作

    定期清理 WSL 記憶體

    WSL 開久了記憶體不一定會釋放,可以定期執行:

    wsl --shutdown
    

    檢查是哪個程式在吃記憶體

    打開 WSL,輸入:

    htop
    

    就能看到是哪個程式佔用過多,直接關掉就好。


    注意 Docker Desktop 的記憶體佔用

    如果你有使用 Docker,它會跑在 WSL 上,也會吃掉大量資源。
    建議在 Docker Desktop 的設定裡也限制記憶體,或是平常沒用就關掉 Docker。


    結語

    這樣做完後,VmmemWSL 的記憶體就不會再隨便暴衝了。
    建議每台有跑 WSL 的機器都設定一次 .wslconfig,長時間使用下來會省很多資源、減少當機狀況。

    0 Comments

    Submit a Comment

    發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

    RSS
    Follow by Email