从 Linux 访问 NTFS SSD 磁盘的性能有多差?

从 Linux 访问 NTFS SSD 磁盘的性能有多差?

我有一块小型 SSD,上面安装了 Windows,HDD 磁盘上安装了 Ubuntu。我想从 Linux 存储和访问 SSD 上的一些文件(以提高性能)。我不想对 SDD 磁盘进行分区,因为剩余空间不多了,而且我认为这会损害 Windows 性能。所以真正的问题是从 Linux 访问存储在 NTFS 磁盘上的文件有什么缺点?

答案1

在正常情况下,性能会有一些差异,但在适当的参数下,NTFS 在 Linux 上非常实用。

Linux 总是会慢一些。虽然 Windows 使用本机内核驱动程序(一种性能非常高的低级驱动程序),但 Linux 使用在用户空间运行的 NTFS-3G,因此本质上速度较慢。

其中一些性能差异可以通过遵循以下列出的建议来改善: Tuxera NTFS-3G 常见问题解答 尤其是 big_writes 选项(复制大文件时很有用,但不建议在更新大文件时使用)。

进一步阅读:

答案2

由于这是最热门的自然搜索结果,以下是 2021 年的一些新数据。

黑色 + fs 100MB 100MB 覆盖 1GB 1GB 覆盖
原始 ntfs 75 75 73 73
raid0 ntfs 75 75 73 73
生脂肪 157 143 157 157
原始 ext4 980 180 166 166
raid0 ext4 850 180 855 362

(所有数字均为 MiB/s。数字越高越好)

所有分区均使用 gnome-disks 默认选项创建

gnome-disk-utility 40.1 UDisks 2.9.2 (基于 2.9.2 构建)

测试时time dd if=/dev/zero of=file.txt bs=1M count=1000计数=100。在刚唤醒但空闲的磁盘上运行了约 10 次。全部连接到 sata2/3gps(不是 6)。全部在 47C 和 50C 之间。

通过覆盖表,我的意思是dd输出到现有的 FS 文件而不是新的文件。

使用5.12内核

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm cpuid_fault epb pti tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts
vmx flags       : vnmi preemption_timer invvpid ept_x_only flexpriority tsc_offset vtpr mtf vapic ept vpid unrestricted_guest
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds

两个 raid0 测试都在磁盘的开始处设置分区,使用 2 个相同的磁盘进行原始测试。原始测试都在磁盘的最后 3/4 处设置分区,并在两个磁盘之间取平均值(它们之间的数字从未出现差异)

答案3

对我来说,唯一的缺点是稳定性。我的经验告诉我,Linux 的读取性能很好,但在写入时会出现问题。在这种情况下,它往往会损坏文件系统,而 Windows 通常不会发生什么严重的问题,只需进行磁盘检查,一切就会恢复正常。

相关内容