@
jim9606 主要是内核功能都能用;至于性能差异,你这说的不对。
1. WSL1 的 IO 性能要远高于 WSL2,因为 WSL2 走的是 9P 协议,而 WSL1 用的是 lxfs,性能更高(差异非常明显,比如你用的是 zsh 加自动补全,那在 /mnt/c 下,WSL1 接近可用,而 WSL2 会非常卡)。我测试下来,WSL1 下,访问 NTFS 分区的性能,WSL1 接近于原生速度( NVME 的硬盘,写入速度接近 1GB/S ),但是在 WSL2 下就只有 97.3M/S (数据见后)
2. WSL2 的 CPU 性能比 WSL1 高,因为不用经过内核转换(但是实际看起来不是特别明显),在 CPU 密集型的应用下会有影响,比如编译
WSL1 下测试磁盘性能和结果:
time dd if=/dev/zero of=/mnt/c/TEMP/wsl bs=8k count=100000
100000+0 records in
100000+0 records out
819200000 bytes (819 MB, 781 MiB) copied, 0.829945 s, 987 MB/s
dd if=/dev/zero of=/mnt/c/TEMP/wsl bs=8k count=100000 0.11s user 1.42s system 99% cpu 1.538 total
WSL2 下测试磁盘性能和结果:
time dd if=/dev/zero of=/mnt/c/TEMP/wsl bs=8k count=100000
100000+0 records in
100000+0 records out
819200000 bytes (819 MB, 781 MiB) copied, 8.41766 s, 97.3 MB/s
dd if=/dev/zero of=/mnt/c/TEMP/wsl bs=8k count=100000 0.34s user 1.32s system 19% cpu 8.479 total