关于 orbstack 与 wsl 的跨文件系统访问的具体性能 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zwyyy456
V2EX    macOS

关于 orbstack 与 wsl 的跨文件系统访问的具体性能

  •  
  •   zwyyy456 2023-11-27 15:48:15 +08:00 2484 次点击
    这是一个创建于 685 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一直看到这样说法,就是 wsl 的跨文件系统访问很慢,例如 windows 访问 wsl 中的数据,或者 wsl 直接访问 windows 中的数据,文件 I/O 性能非常差。

    orbstack 创建的虚拟机和 macOS 之间的跨文件系统访问是不是也很慢?

    关于 ws 和 windows 之间跨文件系统访问,以及 macOS 和 orbstack 创建的虚拟机之间的跨文件系统访问,有 v 友做过具体的性能测试吗?对于个人的 C++ 和 Java 小项目的编写,其性能够用吗?

    10 条回复    2023-11-28 07:37:22 +08:00
    daveh
        1
    daveh  
       2023-11-27 16:52:10 +08:00 via iPhone
    用 dd 命令自己测。
    一般差个 10 倍以上,对 JB 系 IDE 影响较大,当然写个 hello world 还能接受。
    noahhhh
        2
    noahhhh  
       2023-11-27 16:55:03 +08:00 via Android
    orbstack 是 wsl1 形式,wsl2 才有你说的问题
    Twnysta
        3
    Twnysta  
       2023-11-27 16:58:29 +08:00
    orbstack 的文件 i/o 性能可以,大概是 gRPC FUSE 的四倍。跟 virtioFS 的速度差不多
    daveh
        4
    daveh  
       2023-11-27 17:08:40 +08:00 via iPhone
    @noahhhh #2 orbstack 是类似 WSL 2 ,比如需要自定义 Linux kernel ,利用了 OS 的虚拟化能力,需要独立的磁盘镜像。
    zwyyy456
        5
    zwyyy456  
    OP
       2023-11-27 17:26:59 +08:00
    @Twnysta 这个文件 i/o 性能是跨文件系统的,还是说 orbstack 创建的虚拟机内部的性能?
    tylinux
        6
    tylinux  
       2023-11-27 17:39:25 +08:00
    命令:dd if=/dev/random of=1.bin bs=4M count=1024
    在 orb 根目录写:449 MB/s
    在 orb 中写 macOS 用户目录:366 MB/s
    在 macOS 中写:756 MB/s

    单次运行,仅供参考
    exkernel
        7
    exkernel  
       2023-11-27 18:34:13 +08:00
    更大问题应该是零散小文件性能
    fkdog
        8
    fkdog  
       2023-11-27 21:35:33 +08:00
    @tylinux 4m 没有意义的,
    你应该测下随机 4k 。
    fkdog
        9
    fkdog  
       2023-11-27 21:40:57 +08:00
    是很差,没事建议不要随便尝试跨系统访问文件。

    我曾经想把 idea 里所有开发工具和 sdk 全部切换到 wsl2 内置的,结果就是卡到爆炸。
    wsl2 内的 jdk 和 git 访问 windows 文件系统里的项目,卡爆。
    wsl2 内的 jdk 和 git 访问 wsl2 里的项目,依然更卡。

    后边用 jetbrain gateway 连接 wsl2 做远程开发,结果尼玛这玩意各种无响应卡死,根本没法用。

    最后就是老老实实在 windows 上安装好开发工具,然后用 git bash mingw64 做 terminal ,基本也能和 linux 无缝衔接。

    如果你真想折腾 wsl2 做开发,目前我折腾一圈发现现阶段最优解就是 vscode 。
    noahhhh
        10
    noahhhh  
       2023-11-28 07:37:22 +08:00 via Android
    @fkdog 例外情况(使用 WSL 1 而不是 WSL 2 )
    我们建议使用 WSL 2 ,因为它提供更快的性能和 100% 的系统调用兼容性。 但是,在某些特定情况下,你可能会更倾向于使用 WSL 1 。 在以下情况下,请考虑使用 WSL 1:

    你的项目文件必须存储在 Windows 文件系统中。WSL 1 可以更快地访问从 Windows 装载的文件。
    如果你将使用 WSL Linux 分发版来访问 Windows 文件系统上的项目文件,并且这些文件无法存储在 Linux 文件系统上,那么,通过使用 WSL 1 ,你将跨 OS 文件系统实现更快的性能。
    一个项目要求对相同的文件使用 Windows 和 Linux 工具进行交叉编译。
    在 WSL 1 中,跨 Windows 和 Linux 操作系统的文件性能比 WSL 2 中更快,因此如果要使用 Windows 应用程序来访问 Linux 文件,则目前通过 WSL 1 可实现更快的性能。

    来源:https://learn.microsoft.com/zh-cn/windows/wsl/compare-versions
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2816 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 13:25 PVG 21:25 LAX 06:25 JFK 09:25
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86