天天看點

win10修改wsl2配置以降低vmmem程序記憶體占用過高問題wsl常用指令修改.wslconfig配置檔案檢查配置生效與否

文章目錄

  • wsl常用指令
  • 修改.wslconfig配置檔案
    • .wslconfig檔案路徑
    • .wslconfig檔案内容
  • 檢查配置生效與否

檢視任務管理器時發現vmmem程序占用記憶體過高。查閱相關文檔後,可以通過對wsl的一些預設配置做出修改(如記憶體大小)來降低記憶體占用。

wsl常用指令

打開powershell,執行以下指令

# 檢視wsl版本
wsl -l -v
# 檢視正在wsl中運作的linux發行版
wsl --list --running
# 關閉所有正在wsl中運作的linux發行版
wsl --shutdown
           

修改.wslconfig配置檔案

注意,該配置檔案僅對wsl2生效。wsl1需要修改wsl.conf檔案。詳見官方文檔。

.wslconfig檔案路徑

  • .wslconfig檔案存放于目前使用者的家目錄,即絕對路徑為C:\Users\你的使用者名\.wslconfig,沒有的話就建立一個。
  • 也可以打開檔案管理器後,在位址欄輸入%UserProfile%跳轉至家目錄,再建立或編輯.wslconfig檔案。

.wslconfig檔案内容

填入以下内容,主要的配置内容是:

  • 記憶體改為2G,預設值是電腦記憶體的一半8G;
  • 處理器改為6個,預設值是電腦處理器個數12;
  • swap空間設定為2G,預設值是電腦記憶體的四分之一。
# Settings apply across all Linux distros running on WSL 2
[wsl2]

# Limits VM memory to use no more than 2 GB, this can be set as whole numbers using GB or MB
memory=2GB 

# Sets the VM to use two virtual processors
processors=6

# Sets amount of swap storage space to 2GB, default is 25% of available RAM
swap=2GB

# Sets swapfile path location, default is %USERPROFILE%\AppData\Local\Temp\swap.vhdx
# swapfile=C:\\temp\\wsl-swap.vhdx
           

以上檔案改好後,在powershell中執行以下代碼,以重新開機wsl2,使得配置生效。

wsl --shutdown
           

檢查配置生效與否

修改配置後,可以在wsl2中檢查是否生效。比如我使用的ubuntu20.04發行版,打開終端後,輸入以下指令檢視記憶體大小、檢視swap空間大小、處理器個數是否與配置的一緻。

# 檢視記憶體、swap大小
free -m
# 檢視處理器個數
cat /proc/cpuinfo| grep "processor"| wc -l
           

再次打開任務管理器檢視vmmem程序,記憶體占用明顯降低。

繼續閱讀