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