WSL2
微软推出的在Windows系统内运行完整Linux内核的技术,没有图形界面,程序员常用于运行开发工具链
时间轴 (近 90 天)
在Windows上,Docker通过WSL2或Hyper-V来运行Linux容器
WSL1 在 Windows NT 内核中实现 lxss.sys 和 lxcore.sys 内核驱动,将约 300 多个 Linux 系统调用翻译为 NT 内核操作,后因维护成本和兼容性问题 WSL2 转向完整虚拟机方案
该Reddit用户表示WSL2对其工作流也不够可靠
在GPU-PV架构下,Windows宿主机保留GPU的内核模式驱动,WSL2中只需用户态驱动组件,请求通过虚拟GPU设备/dev/dxg传递
在深度依赖开源代码的ML研究场景中,原生Linux(Ubuntu)比Windows或WSL2更可靠
agent-manager原生支持macOS与Linux,Windows用户可通过WSL2运行
NVIDIA于2020年开始在WSL2中支持CUDA,通过GPU-PV(GPU Paravirtualization)技术实现GPU直通
从WSL2访问Windows文件(/mnt/c/等路径)需要通过9P网络文件系统协议桥接,实测显示跨文件系统的随机I/O性能可能下降50-80%
如果必须使用Windows,建议将所有代码和数据存放在WSL2的原生Linux文件系统内而非Windows分区,以获得最佳I/O性能
WSL2默认会占用宿主机一半内存,且其内存回收策略并不总能及时将释放的内存归还给Windows
全部知识事实 (10)
在Windows上,Docker通过WSL2或Hyper-V来运行Linux容器
50%待验证WSL1 在 Windows NT 内核中实现 lxss.sys 和 lxcore.sys 内核驱动,将约 300 多个 Linux 系统调用翻译为 NT 内核操作,后因维护成本和兼容性问题 WSL2 转向完整虚拟机方案
50%待验证该Reddit用户表示WSL2对其工作流也不够可靠
50%待验证在GPU-PV架构下,Windows宿主机保留GPU的内核模式驱动,WSL2中只需用户态驱动组件,请求通过虚拟GPU设备/dev/dxg传递
50%待验证在深度依赖开源代码的ML研究场景中,原生Linux(Ubuntu)比Windows或WSL2更可靠
50%待验证agent-manager原生支持macOS与Linux,Windows用户可通过WSL2运行
50%待验证NVIDIA于2020年开始在WSL2中支持CUDA,通过GPU-PV(GPU Paravirtualization)技术实现GPU直通
50%待验证从WSL2访问Windows文件(/mnt/c/等路径)需要通过9P网络文件系统协议桥接,实测显示跨文件系统的随机I/O性能可能下降50-80%
50%待验证如果必须使用Windows,建议将所有代码和数据存放在WSL2的原生Linux文件系统内而非Windows分区,以获得最佳I/O性能
50%待验证WSL2默认会占用宿主机一半内存,且其内存回收策略并不总能及时将释放的内存归还给Windows
50%