跑linux系统一般有3个方式:
直接安装个linux系统
在win系统下面下载vmware装个虚拟机
在win下面开linux子系统(WSL2)
最近安排做了这样一个事。实测上面3个系统的CFD计算性能差异。硬件都是一个硬件。直接上结果:
真系统 | WSL2 | 虚拟机 | |
1核 | 950秒 | 1115秒 | 1280秒 |
2核 | 360秒 | 392秒 | 543秒 |
16核 | 81秒 | 125秒 | 450秒 |
32核 | 52秒 | 103秒 | 370秒 |
结论:
多核下,真系统遥遥领先,虚拟机慢7倍,WSL2慢2倍。
1-2核下,WSL2跟虚拟机都要慢,但是可以接受。
使用体验
WSL2的硬盘读写是个大问题。上面这个测试没有带硬盘读写,如果带硬盘读写,WSL2会更慢。
WSL2在使用上,跟linux真系统啥的也不太一样。并且一个漂亮的界面,还需要配置,需要自己折腾下。WSL2的文件格式也不一样,有的时候会出现机器卡死的现象。
总结就是WSL的使用体验,岳子个人认为,70%。
真系统的体验90%完美。缺的10%主要因为不能用win。
虚拟机的体验感最完美,100%,linux系统跟真系统体验无差异,同时还能用win的软件。
个人建议
建议一:在虚拟机上开4核8核就足够调试算例,在真系统上跑大算例。虚拟机开太多核也不会更快。
当然了,这面这个方法需要2个机器。一个windows机器,一个linux机器。如果只有一个机器怎么办?
建议二:首先,如果你专业做CFD,我不觉得一个机器够用。专业做CFD的,最低最低得有个linux系统跑CFD。这就跟你理发的,连个专业剪刀都没有一样。
windows系统你肯定不能扔对不对?如果真就只有一台机器。首先你CFD大算例肯定跑不动。如果还要跑大算例,看起来是WSL2合适,但是有缺陷。那么自行取舍:
1)要么WSL2,肯定比虚拟机快,但是操作体验需要适应一下,需要折腾一下。
2)跑虚拟机,速度慢。