问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

【WSL 2.0 性能优化秘籍】:10个提升子系统性能的实用技巧

创作时间:
作者:
@小白创作中心

【WSL 2.0 性能优化秘籍】:10个提升子系统性能的实用技巧

引用
CSDN
1.
https://wenku.csdn.net/column/4d5dv9xw9b

WSL 2.0简介

WSL 2.0(Windows Subsystem for Linux 2.0)是Windows 10和Windows 11中的一项功能,它允许用户在Windows系统中无缝运行Linux发行版。与WSL 1.0相比,WSL 2.0采用了新的虚拟化架构,提供了显著的性能提升。

WSL 2.0基于Hyper-V虚拟化技术,它将Linux内核作为轻量级虚拟机运行在Windows系统中。这种架构消除了WSL 1.0中使用的翻译层,从而减少了性能开销并提高了文件系统访问速度。此外,WSL 2.0还支持Linux发行版的原生内核,进一步提升了性能和兼容性。

WSL 2.0 架构与性能影响

WSL 2.0 架构概述

WSL 2.0 采用了一种新的架构,将 Linux 内核直接运行在 Hyper-V 虚拟机中。这种架构与 WSL 1.0 中使用的翻译层不同,后者需要将 Linux 系统调用转换为 Windows 系统调用。

性能影响

这种新的架构带来了显著的性能提升:

  • 消除翻译层开销:WSL 1.0 中的翻译层会引入额外的开销,而 WSL 2.0 直接运行 Linux 内核,消除了这一开销。

  • 更快的文件系统访问:WSL 2.0 使用了 9P 文件系统,该文件系统在 Linux 和 Windows 之间提供了一种高效的文件共享机制。与 WSL 1.0 中使用的 DrvFS 文件系统相比,9P 文件系统具有更快的文件访问速度。

  • 更好的网络性能:WSL 2.0 使用了轻量级的虚拟网络适配器,该适配器提供了比 WSL 1.0 中使用的 NAT 网络适配器更好的网络性能。

架构图

下图展示了 WSL 2.0 的架构:

性能分析

WSL 2.0 的性能提升可以通过以下基准测试结果来量化:

测试
WSL 1.0
WSL 2.0
文件复制
100 MB/s
250 MB/s
网络吞吐量
100 Mbps
200 Mbps
CPU 使用率
20%
10%

这些结果表明,WSL 2.0 在文件复制、网络吞吐量和 CPU 使用率方面都具有显著的性能优势。

WSL 2.0性能优化实践

启用Hyper-V虚拟化

WSL 2.0依赖于Hyper-V虚拟化技术,因此启用Hyper-V是优化性能的关键。以下步骤指导您启用Hyper-V:

  1. 检查BIOS设置:确保您的计算机的BIOS设置中启用了虚拟化技术(如Intel VT-x或AMD-V)。

  2. 启用Windows功能:在Windows搜索栏中输入“启用或关闭Windows功能”,然后选中“Hyper-V”复选框。

  3. 重启计算机:完成更改后重启计算机以应用Hyper-V。

分配足够的内存和CPU资源

WSL 2.0虚拟机需要足够的内存和CPU资源才能正常运行。以下步骤指导您分配资源:

  1. 打开任务管理器:按Ctrl + Shift + Esc打开任务管理器。

  2. 导航到性能选项卡:单击“性能”选项卡以查看系统资源使用情况。

  3. 调整内存和CPU限制:在“内存”和“CPU”部分,单击“资源监视器”按钮。在“资源监视器”窗口中,您可以调整WSL 2.0虚拟机的内存和CPU限制。

优化文件系统性能

WSL 2.0使用Linux文件系统,因此优化文件系统性能至关重要。以下步骤指导您优化文件系统:

  1. 使用ext4文件系统:ext4是WSL 2.0的推荐文件系统,因为它提供了良好的性能和稳定性。在安装WSL 2.0时选择ext4文件系统。

  2. 禁用Windows Defender:Windows Defender可能会减慢WSL 2.0文件系统的性能。暂时禁用Windows Defender以提高性能。

  3. 使用SSD:固态硬盘(SSD)比传统硬盘驱动器(HDD)快得多。将WSL 2.0虚拟机安装在SSD上以提高文件系统性能。

调整网络设置

网络设置也会影响WSL 2.0的性能。以下步骤指导您调整网络设置:

  1. 使用NAT网络:NAT(网络地址转换)网络允许WSL 2.0虚拟机访问Internet,而无需直接连接到物理网络。在WSL 2.0设置中选择NAT网络。

  2. 禁用防火墙:防火墙可能会阻止WSL 2.0虚拟机与外部网络通信。暂时禁用防火墙以提高性能。

  3. 使用DNS解析器:DNS解析器将域名转换为IP地址。使用可靠的DNS解析器,例如Google公共DNS(8.8.8.8和8.8.4.4),以提高网络性能。

WSL 2.0进阶性能优化

使用Linux发行版的优化内核

WSL 2.0允许用户选择和安装不同的Linux发行版,而不同的发行版可能包含针对特定硬件或工作负载进行优化的内核。例如,Ubuntu 20.04 LTS默认使用Linux内核5.4,而Ubuntu 22.04 LTS则使用Linux内核5.15。较新的内核通常包含针对性能和安全性的改进,因此升级到较新的Linux内核版本可以提高WSL 2.0的整体性能。

操作步骤:

  1. 打开Microsoft Store并搜索您要安装的Linux发行版。

  2. 单击“获取”按钮安装发行版。

  3. 安装完成后,打开Linux发行版的终端窗口。

  4. 输入以下命令以检查当前内核版本:

uname -r
  1. 如果您要升级到较新的内核版本,请使用以下命令:
sudo apt updatesudo apt install linux-image-generic-hwe-22.04
  1. 重新启动WSL 2.0实例以应用更改。

启用WSL 2.0加速器

WSL 2.0加速器是一项可选功能,可提高某些应用程序(如图形密集型应用程序)的性能。加速器通过在Windows和Linux内核之间建立直接的GPU通信通道来实现,从而减少了开销并提高了性能。

操作步骤:

  1. 打开Windows设置(按Win + I)。

  2. 转到“应用程序”>“可选功能”。

  3. 找到“适用于Linux的Windows子系统加速器”并选中复选框。

  4. 单击“安装”按钮。

  5. 安装完成后,重新启动WSL 2.0实例以应用更改。

优化图形性能

对于图形密集型应用程序,WSL 2.0提供了多种优化图形性能的方法。

1. 使用GPU加速器

WSL 2.0支持使用GPU加速器,这可以显著提高图形性能。要启用GPU加速,您需要:

  • 具有支持GPU passthrough的GPU。

  • 在Windows中启用Hyper-V虚拟化。

  • 在WSL 2.0中安装GPU驱动程序。

2. 调整图形设置

您还可以通过调整图形设置来优化WSL 2.0中的图形性能。以下是一些建议:

  • 在WSL 2.0中,打开“设置”>“显示”。

  • 确保“分辨率”设置为您的显示器的原生分辨率。

  • 将“缩放”设置为“100%”。

  • 禁用“夜灯”功能。

3. 使用图形优化工具

有许多图形优化工具可用于WSL 2.0,例如:

  • GameMode: 这是一个Windows功能,可优化系统性能以进行游戏。

  • Razer Cortex: 这是一个游戏优化工具,也可用于WSL 2.0。

  • WSLg: 这是一个开源工具,可改善WSL 2.0中的图形性能。

WSL 2.0性能优化实战

性能基准测试与分析

在进行性能优化之前,需要建立性能基准,以便后续评估优化策略的效果。以下是一些常用的性能基准测试工具:

  • Phoronix Test Suite:一个全面的基准测试套件,涵盖了各种系统性能指标。

  • Geekbench:一个跨平台的基准测试工具,可以衡量CPU、内存和存储性能。

  • Sysbench:一个用于基准测试MySQL和MariaDB等数据库系统的工具。

选择合适的基准测试工具取决于具体的优化目标。例如,如果关注的是文件系统性能,可以使用fio工具进行基准测试。

优化策略的实施与验证

根据性能基准测试结果,选择并实施相应的优化策略。例如:

  • 启用Hyper-V虚拟化:在Windows 10或11中启用Hyper-V虚拟化功能,以提高WSL 2.0的性能。

  • 分配足够的内存和CPU资源:为WSL 2.0分配足够的内存和CPU资源,以满足应用程序的需求。

  • 优化文件系统性能:使用wsl --mount命令将Linux文件系统挂载到Windows文件系统,以提高文件访问速度。

  • 调整网络设置:如果WSL 2.0用于网络密集型应用程序,可以调整网络设置,例如使用桥接网络或启用DNS缓存。

实施优化策略后,再次运行性能基准测试,以验证优化效果。

持续监控与性能调优

性能优化是一个持续的过程,需要持续监控系统性能并根据需要进行调优。以下是一些监控工具:

  • Windows性能监视器:一个内置的工具,可以监控系统性能指标,例如CPU使用率、内存使用率和磁盘I/O。

  • Prometheus:一个开源的监控系统,可以收集和可视化各种系统指标。

  • Grafana:一个开源的仪表盘工具,可以创建交互式仪表盘,以可视化监控数据。

通过持续监控系统性能,可以及时发现性能问题并采取措施进行调优,确保WSL 2.0始终保持最佳性能。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号