WSL .wslconfig 小技巧
要在 WSL(Windows Subsystem for Linux)中增加內存,你需要編輯 WSL 配置文件 wsl.conf 或者直接調整虛擬機的資源限制。
文章目錄
- WSL .wslconfig 小技巧
- 以下是步驟: 找到或創建 .wslconfig 文件:
- 重啟 WSL:
- 其他的配置
- 1. memory
- 2. processors
- 3. swap
- 4. swapFile
- 5. localhostForwarding
- 6. kernel
- 7. kernelCommandLine
- 8. update
- 9. enableDriveSharing
- 10. vmInherit
以下是步驟: 找到或創建 .wslconfig 文件:
.wslconfig 文件位于 Windows 用戶目錄下 C:\Users<YourUserName>.wslconfig。
如果文件不存在,可以手動創建一個。
編輯 .wslconfig 文件:
打開該文件并添加/修改以下配置:
[wsl2]
memory=4GB # 設置內存為 4GB,可以根據需求調整大小
processors=2 # 設置 CPU 核心數為 2,根據需要修改
這里的 memory 指定了給 WSL 分配的最大內存,processors 是分配的 CPU 核心數。
重啟 WSL:
完成后,重啟 WSL 使設置生效。你可以通過以下命令在 PowerShell 或命令提示符下重啟 WSL:
wsl --shutdown
檢查設置是否生效:
你可以通過運行以下命令來查看分配的內存大小:
free -h
這樣就可以調整 WSL 的內存和處理器資源。如果你在使用 WSL2 時遇到其他問題,調整這些設置可能有幫助。
其他的配置
slconfig 文件是一個配置文件,用于設置 WSL2 的資源分配和其他參數。除了 memory 和 processors,你還可以在 .wslconfig 中設置以下參數:
1. memory
說明:設置 WSL2 虛擬機可用的最大內存。
示例:
memory=4GB # 設置內存為 4GB
2. processors
說明:設置 WSL2 虛擬機可用的 CPU 核心數。
示例:
processors=2 # 設置 2 核 CPU
3. swap
說明:設置 WSL2 使用的交換空間大小。通過設置 swap 可以在內存不足時使用硬盤作為虛擬內存。
示例:
swap=8GB # 設置交換空間為 8GB
4. swapFile
說明:指定交換文件的位置。默認的交換文件位于 C:\Users<UserName>\AppData\Local\Packages…。
示例:
swapFile=D:\\WSL\\swap.vhdx # 設置交換文件的位置
5. localhostForwarding
說明:控制是否啟用 localhost 端口轉發。設置為 false 會禁用 WSL 與 Windows 之間的 localhost 網絡轉發。
示例:
localhostForwarding=true # 啟用 localhost 轉發
6. kernel
說明:指定自定義的 Linux 內核文件。如果你想使用不同的內核(例如,添加特定模塊或修補),可以設置這個參數。
示例:
kernel=C:\\path\\to\\custom\\kernel # 指定自定義內核路徑
7. kernelCommandLine
說明:允許你在啟動時給 Linux 內核傳遞命令行參數。這些參數會影響內核的啟動行為。
示例:
kernelCommandLine=quiet splash # 給內核傳遞參數
8. update
說明:控制 WSL2 是否自動更新。默認情況下,WSL2 會定期自動更新。
示例:
update=false # 禁用自動更新
9. enableDriveSharing
說明:控制是否啟用對 Windows 驅動器的共享。如果你不希望 WSL2 訪問 Windows 文件系統,可以禁用此功能。
示例:
enableDriveSharing=true # 啟用驅動器共享
10. vmInherit
說明:允許 WSL2 從宿主機繼承虛擬機設置,如網絡設置等。適用于有特殊配置需求的場景。
示例:
vmInherit=true # 啟用虛擬機繼承
總結:
.wslconfig 是一個非常靈活的配置文件,可以幫助你優化 WSL2 的性能。你可以通過它來控制內存、CPU 核心數、交換空間等資源,甚至使用自定義內核。需要注意的是,wslconfig 主要是針對 WSL2 版本的配置,WSL1 并不支持這些設置。
參考配置示例:
[wsl2]
memory=4GB
processors=2
swap=8GB
swapFile=D:\\WSL\\swap.vhdx
localhostForwarding=true
kernel=C:\\path\\to\\custom\\kernel
kernelCommandLine=quiet splash
update=false
enableDriveSharing=true
vmInherit=true