Loading

WSL2 v2.2.4.0 版本的配置与优化

systemd

从0.67.6版本开始,wsl2官方支持了systemd,已经无需使用命名空间或者第三方包来启动systemd了。
/etc/wsl.conf文件里可以看到默认开启了systemd

[boot]
systemd=true

WSL2网络配置

!最新版WSL2已经更新了图形界面配置!

开始菜单找到WSL Setting打开即可设置

1、开启镜像网络和自动代理

早期wsl2的网络配置有诸多问题,一般推荐是使用端口映射来解决局域网内的服务访问问题。不过从wsl2 v2.0开始,有了镜像网络模式,使得网络的兼容性得到了很大的提高。
在C:\Users\你的用户名.wslconfig 里加入对应配置,没有则先新建此文件
具体配置参考如下:

[wsl2]
swap=0                    # 推荐关闭swap提升性能,内存不够就加内存条
networkingMode=mirrored   # 开启镜像网络模式
autoProxy=true            # 使用windows的http代理
dnsTunneling=true         
firewall=true

[experimental]
autoMemoryReclaim=gradual  # 检测到空闲CPU使用情况后自动释放缓存内存 gradual 缓慢释放 | dropcache 立即释放 | disabled  关闭
hostAddressLoopback=true   

2、配置防火墙

由于默认hyper-v防火墙会拦截入站请求,官方文档推荐用管理员powershell执行以下命令添加防火墙入站规则:
Set-NetFirewallHyperVVMSetting -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -DefaultInboundAction Allow

3、配置docker

由于镜像网络模式目前和docker的iptables有冲突,如果使用wsl内的docker,需要关闭其iptables的功能:
vim /etc/docker/daemon.json

{
"iptables": false
}

如果是使用最新版本的docker desktop,则可以不用关闭iptables,但是需要在.wslconfig文件中[Experimental]配置中添加需要公开的wsl2的端口:

ignoredPorts=8080,80,8086

windows相关优化

1、关闭内存压缩功能

由于使用wsl2,windows内存占用会长期在50%以上,这样会频繁触发内存压缩功能。根据本人的使用经验来看,32G内存长期占用20G时,其中内存压缩功能会占用3G,根据任务管理器显示其压缩前的内存大小是8G(内存压缩的进程在任务管理器中是隐藏的,但是可以在资源监视器里看到),这会频繁占用cpu去解压和压缩内存,造成系统卡顿。
目前工作本的cpu是R9 5900HX,开机一两个星期后可以感受到频繁且明显的卡顿。推荐关闭内存压缩功能,配合wsl2的autoMemoryReclaim功能可以明显提高系统长时间运行的流畅度。
有虚拟内存功能其实已经足够了,为了提高一些内存转换的速度牺牲cpu性能其实得不偿失,不如升级内存条来的实在。
管理员powershell执行以下命令关闭/开启内存压缩功能,使用后需要重启计算机才生效:

disable-mmagent -mc

enable-mmagent -mc

打开任务计划程序,在任务计划程序库\Micrsoft\Windows\MemoryDiagnostic中禁用ProcessMemoryDiagnosticEvents和RunFullMemoryDiagnostic

2、关闭Nvidia的游戏内覆盖功能

N卡驱动有一个游戏内覆盖功能,是一个游戏录屏截屏等功能的程序,只要应用程序使用N卡为图形处理器,右上角就会弹出游戏内覆盖功能启动的提示,这个功能的启动通常会使得电脑突然卡顿,且在玩游戏的时候也会造成帧率的下降,推荐关闭游戏内覆盖功能。配置选项在N卡的Geforce Experience程序——>设置——>常规——>游戏内覆盖。

3、配置Xbox game bar

无独有偶,windows内置的Xbox game bar也有类似的问题,但是兼容性相对要高很多。早期windows10/11版本,Game bar可以在设置——>系统——>应用中卸载,后来微软将Game bar加入了系统组件中,想要卸载就需要使用dism命令或者其他工具,而且会随着系统更新再次被安装。所以可以在Game bar的高级选项中,将其的后台组件权限设置为从不

posted @ 2024-07-02 14:59  khrenga  阅读(1391)  评论(0)    收藏  举报