Windows 与 macOS 上的 RAMDisk 速度差异巨大 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
starryloki
V2EX    Apple

Windows 与 macOS 上的 RAMDisk 速度差异巨大

  •  1
     
  •   starryloki 2022 年 5 月 30 日 4122 次点击
    这是一个创建于 1427 天前的主题,其中的信息可能已经有所发展或是发生改变。
    电脑是 Macbook Pro 2019 16-inch, 搭载的内存是 2666Mhz 的 DDR4 32G 内存, 用内置 SSD 运行 macOS 以及外接 USB3.1 NVMe SSD 启动 Win To Go, 分别划分 16G 的 RAMDISK, Windows 为 NTFS 格式并使用 CrystalDiskMark 8.0.4 测试, macOS 为 APFS 格式并使用 AmorphousDiskMark 测试, 测试结果差异巨大。

    Windows 下使用 Primo Ramdisk Server Edition 并选择“Direct-IO”创建
    macOS 下使用命令 “diskutil partitionDisk $(hdiutil attach -nomount ram://$(( (1024*16) * 1024 * 1024 / 512 ))) GPT APFS "RamDisk" 0”创建

    macOS 测试数据如下


    Windows 测试数据以及参数如下



    虽然这个数据差异很少有生产环境能感受到,但还是想知道到底是什么原因导致的
    第 1 条附言    2022 年 5 月 30 日
    另外观察了一下,在 macOS 测试过程中 “diskimages-helper” 进程吃满了单核,在 Disk Utility 可以看到创建的 Ramdisk 是属于 Disk Image ,感觉有可能是“diskimages-helper”的性能问题
    15 条回复    2025-02-21 09:59:45 +08:00
    geniussoft
        1
    geniussoft  
       2022 年 5 月 30 日 via iPhone
    反正我的经验看,至少你用的 Mac 下的测速软件真的不太靠谱。
    ^_^
    felixcode
        2
    felixcode  
    PRO
       2022 年 5 月 30 日 via Android
    不知道 MacOS ,但 Linux 下建了 ramdisk ,数据还是会先写到 cache 里,再根据情况写到磁盘,windows 下选了 directio ,可能就直接到磁盘了。
    starryloki
        3
    starryloki  
    OP
       2022 年 5 月 30 日 via iPhone
    @geniussoft 这个软件测试 NVMe SSD 跟 Windows 下 CDM 测试差距不大,反倒我觉得 Mac 下那个 Black Magic 才是不靠谱的
    starryloki
        4
    starryloki  
    OP
       2022 年 5 月 30 日 via iPhone
    @felixcode 不是很了解缓存的运作机制,一般情况下这个缓存应该也在内存,这两者速度差异应该很小才对吧
    felixcode
        5
    felixcode  
    PRO
       2022 年 5 月 30 日 via Android   1
    @starryloki 对,但中间多了一道手,而且这个过程还得经过内核调度,至少是其中一个原因,当时在 linux 下测 ramdisk 性能也不大理想。
    starryloki
        6
    starryloki  
    OP
       2022 年 5 月 30 日 via iPhone
    @felixcode 了解了,感谢大佬
    maxthon
        7
    maxthon  
       2022 年 5 月 30 日
    macOS 默认开启内存压缩,可能也有影响?
    starryloki
        8
    starryloki  
    OP
       2022 年 5 月 30 日
    @maxthon 看了一下测试过程中被压缩的大小没有明显变化
    lirunext
        9
    lirunext  
       2022 年 5 月 30 日   1
    我早就发现这个问题了, [macOS 自带命令创建的 RAMDISK 性能比 Windows 平台的各种 RAMDISK 软件创建的 RAMDISK 性能都要差很多] 这是通病,无论白苹果还是黑苹果都有这毛病。比如我现在用的黑苹果机,和楼主一样用 Primo Ramdisk Server Edition 创建 RAMDISK ,使用 CrystalDiskMark 测速,SEQ1MQ8T1 项,读 20200+MB/s ,写 35100+MB/s 。而用 macOS 创建的 RAMDISK 用 Blackmagic Disk Speed Test 读写也就 5000MB/s 左右,差了少说 4 倍啊!!!(楼主同款 AmorphousDiskMark 和别的也用过,也都差不多五六千样子。)

    虽然 macOS 用 RAMDISK 的人也不少(有各种帖子教人创建 RAMDISK ),但是网上几乎没有人提这个性能问题,不知道为啥。我也不知道该怎么有效地反馈给苹果管这块的人。

    p.s 楼主用的是 APFS ,会比 HFS+性能还要差些。
    volvo007
        10
    volvo007  
       2022 年 5 月 30 日 via iPhone
    @lirunext 有没有可能是 finder 索引的锅。把 ramdisk 从索引里拿掉?
    最近我在一个桌面文件夹下做一些测试,反复需要写入几万个文件,开索引的话就会卡,删除的时候甚至还会让 finder 崩掉
    starryloki
        11
    starryloki  
    OP
       2022 年 5 月 30 日 via iPhone
    @volvo007 这个要怎么操作
    geniussoft
        12
    geniussoft  
       2022 年 5 月 31 日
    dd 测了一下 确实也很低
    lirunext
        13
    lirunext  
       2022 年 5 月 31 日
    @volvo007 不会是这个原因,是苹果和 macOS 本身的锅,因为刚创建的 RAMDISK 是空的,没文件的(除了系统自动创建的某些隐藏文件),没啥好索引的。如果是你说的这个原因,那说明所有测本地磁盘、移动硬盘 /U 盘,测出来的都是不准的。
    volvo007
        14
    volvo007  
       2022 年 5 月 31 日 via iPhone
    @starryloki 就 spotlight 里面可以设置不加入索引扫描的文件夹,把这个内存盘加进去试试?虽然我确实也怀疑这么做没啥用,就死马当活马医吧
    jdjingdian
        15
    jdjingdian  
       2025 年 2 月 21 日
    挖个坟

    可以用这个工具 https://github.com/imothee/tmpdisk

    创建 tmpfs ,用 tmpfs 跑出来比 disk image 快很多
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2652 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 39ms UTC 05:08 PVG 13:08 LAX 22:08 JFK 01:08
    Do have faith in what you're doing.
    ubao msn 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