V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
starryloki
V2EX  ›  Apple

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

  •  1
     
  •   starryloki · 2022-05-30 01:29:14 +08:00 · 3391 次点击
    这是一个创建于 898 天前的主题,其中的信息可能已经有所发展或是发生改变。
    电脑是 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-05-30 12:26:45 +08:00
    另外观察了一下,在 macOS 测试过程中 “diskimages-helper” 进程吃满了单核,在 Disk Utility 可以看到创建的 Ramdisk 是属于 Disk Image ,感觉有可能是“diskimages-helper”的性能问题
    14 条回复    2022-05-31 06:36:19 +08:00
    geniussoft
        1
    geniussoft  
       2022-05-30 01:38:46 +08:00 via iPhone
    反正我的经验看,至少你用的 Mac 下的测速软件真的不太靠谱。
    ^_^
    felixcode
        2
    felixcode  
       2022-05-30 01:43:19 +08:00 via Android
    不知道 MacOS ,但 Linux 下建了 ramdisk ,数据还是会先写到 cache 里,再根据情况写到磁盘,windows 下选了 directio ,可能就直接到磁盘了。
    starryloki
        3
    starryloki  
    OP
       2022-05-30 01:46:38 +08:00 via iPhone
    @geniussoft 这个软件测试 NVMe SSD 跟 Windows 下 CDM 测试差距不大,反倒我觉得 Mac 下那个 Black Magic 才是不靠谱的
    starryloki
        4
    starryloki  
    OP
       2022-05-30 01:51:44 +08:00 via iPhone
    @felixcode 不是很了解缓存的运作机制,一般情况下这个缓存应该也在内存,这两者速度差异应该很小才对吧
    felixcode
        5
    felixcode  
       2022-05-30 01:55:56 +08:00 via Android   ❤️ 1
    @starryloki 对,但中间多了一道手,而且这个过程还得经过内核调度,至少是其中一个原因,当时在 linux 下测 ramdisk 性能也不大理想。
    starryloki
        6
    starryloki  
    OP
       2022-05-30 02:13:22 +08:00 via iPhone
    @felixcode 了解了,感谢大佬
    maxthon
        7
    maxthon  
       2022-05-30 12:00:32 +08:00
    macOS 默认开启内存压缩,可能也有影响?
    starryloki
        8
    starryloki  
    OP
       2022-05-30 12:21:50 +08:00
    @maxthon 看了一下测试过程中被压缩的大小没有明显变化
    lirunext
        9
    lirunext  
       2022-05-30 15:45:23 +08:00   ❤️ 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-05-30 20:55:41 +08:00 via iPhone
    @lirunext 有没有可能是 finder 索引的锅。把 ramdisk 从索引里拿掉?
    最近我在一个桌面文件夹下做一些测试,反复需要写入几万个文件,开索引的话就会卡,删除的时候甚至还会让 finder 崩掉
    starryloki
        11
    starryloki  
    OP
       2022-05-30 22:28:54 +08:00 via iPhone
    @volvo007 这个要怎么操作
    geniussoft
        12
    geniussoft  
       2022-05-31 00:21:37 +08:00
    dd 测了一下 确实也很低
    lirunext
        13
    lirunext  
       2022-05-31 00:28:27 +08:00
    @volvo007 不会是这个原因,是苹果和 macOS 本身的锅,因为刚创建的 RAMDISK 是空的,没文件的(除了系统自动创建的某些隐藏文件),没啥好索引的。如果是你说的这个原因,那说明所有测本地磁盘、移动硬盘 /U 盘,测出来的都是不准的。
    volvo007
        14
    volvo007  
       2022-05-31 06:36:19 +08:00 via iPhone
    @starryloki 就 spotlight 里面可以设置不加入索引扫描的文件夹,把这个内存盘加进去试试?虽然我确实也怀疑这么做没啥用,就死马当活马医吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1068 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:35 · PVG 03:35 · LAX 11:35 · JFK 14:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.