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

2022-05-30 01:29:14 +08:00
 starryloki
电脑是 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 测试数据以及参数如下



虽然这个数据差异很少有生产环境能感受到,但还是想知道到底是什么原因导致的
3414 次点击
所在节点    Apple
14 条回复
geniussoft
2022-05-30 01:38:46 +08:00
反正我的经验看,至少你用的 Mac 下的测速软件真的不太靠谱。
^_^
felixcode
2022-05-30 01:43:19 +08:00
不知道 MacOS ,但 Linux 下建了 ramdisk ,数据还是会先写到 cache 里,再根据情况写到磁盘,windows 下选了 directio ,可能就直接到磁盘了。
starryloki
2022-05-30 01:46:38 +08:00
@geniussoft 这个软件测试 NVMe SSD 跟 Windows 下 CDM 测试差距不大,反倒我觉得 Mac 下那个 Black Magic 才是不靠谱的
starryloki
2022-05-30 01:51:44 +08:00
@felixcode 不是很了解缓存的运作机制,一般情况下这个缓存应该也在内存,这两者速度差异应该很小才对吧
felixcode
2022-05-30 01:55:56 +08:00
@starryloki 对,但中间多了一道手,而且这个过程还得经过内核调度,至少是其中一个原因,当时在 linux 下测 ramdisk 性能也不大理想。
starryloki
2022-05-30 02:13:22 +08:00
@felixcode 了解了,感谢大佬
maxthon
2022-05-30 12:00:32 +08:00
macOS 默认开启内存压缩,可能也有影响?
starryloki
2022-05-30 12:21:50 +08:00
@maxthon 看了一下测试过程中被压缩的大小没有明显变化
lirunext
2022-05-30 15:45:23 +08:00
我早就发现这个问题了, [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
2022-05-30 20:55:41 +08:00
@lirunext 有没有可能是 finder 索引的锅。把 ramdisk 从索引里拿掉?
最近我在一个桌面文件夹下做一些测试,反复需要写入几万个文件,开索引的话就会卡,删除的时候甚至还会让 finder 崩掉
starryloki
2022-05-30 22:28:54 +08:00
@volvo007 这个要怎么操作
geniussoft
2022-05-31 00:21:37 +08:00
dd 测了一下 确实也很低
lirunext
2022-05-31 00:28:27 +08:00
@volvo007 不会是这个原因,是苹果和 macOS 本身的锅,因为刚创建的 RAMDISK 是空的,没文件的(除了系统自动创建的某些隐藏文件),没啥好索引的。如果是你说的这个原因,那说明所有测本地磁盘、移动硬盘 /U 盘,测出来的都是不准的。
volvo007
2022-05-31 06:36:19 +08:00
@starryloki 就 spotlight 里面可以设置不加入索引扫描的文件夹,把这个内存盘加进去试试?虽然我确实也怀疑这么做没啥用,就死马当活马医吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/856108

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX