Ubuntu 上的 NTFS 写入速度非常慢(<15MB/s)

Zul*_*kis 21 ntfs ubuntu

使用 复制大文件或测试写入速度时dd,在使用 NTFS 文件系统的驱动器上,我可以获得的最大写入速度约为 12-15MB/s。我测试了多个驱动器(全部使用 SATA 连接),它们在 Windows 上或使用 ext4 格式化时的写入速度均达到 100MB/s+,因此这不是对齐或驱动器问题。

top显示mount.ntfs进程的CPU 使用率很高。

AMD 双核处理器 (2.2 GHz)
内核版本:3.5.0-23-generic
Ubuntu 12.04
ntfs-3g版本:两者2012.1.15AR.1(Ubuntu 默认版本)和2013.1.13AR.2

如何修复写入速度?

JPv*_*iel 20

上一篇文章走在正确的轨道上,并提供了参考:

也许在这里检查可能导致它的想法。http://www.tuxera.com/community/ntfs-3g-faq/#slow

最初的问题提到注意大文件传输的问题。根据我复制媒体文件或进行备份的经验,上述常见问题解答中的关键选项是:

解决方法:使用挂载选项“big_writes”通常会降低 CPU 使用率,前提是请求写入的软件支持大块。

只需添加 big_writes 选项,例如

sudo mount -o big_writes /dev/<device> /media/<mount_dir>
Run Code Online (Sandbox Code Playgroud)

我的具有低规格 CPU 的 Linux NAS 现在管理 NTFS 大文件的写入速度大约快了三倍。它从 ~17MB/s 提高到 50MB/s+。甚至在 iotop 中看到它的速度约为 90MB/s,这可能接近外部驱动器的功能(2.5 英寸 USB3 硬盘)。

从 NTFS-3G 手册页:

 big_writes
              This option prevents fuse from splitting write buffers  into  4K
              chunks,  enabling  big  write buffers to be transferred from the
              application in a single step (up to some system limit, generally
              128K bytes).
Run Code Online (Sandbox Code Playgroud)

结语:

  • big_writes 选项可能对 4K 随机写入基准没有帮助;-)
  • 虽然 Tuxera 似乎为嵌入式系统合作伙伴保留了 pro NTFS 驱动程序,但 Paragon 提供了一个可供个人使用的免费NTFS驱动程序,称为NTFS&HFS for Linux 9.0 Express和专业版。然而,我不担保这个产品,当我尝试以前的版本 (v8.5) 时,我当时无法让它与我的 Linux 内核版本一起使用。


Dmi*_*yev 11

big_writes已于2016 年弃用libfuse,但使用3.0.0 或更高版本时始终启用相应的行为。在现代 Linux 系统上,较差的 NTFS 性能通常意味着:

  • 磁盘有碎片
  • NTFS磁盘压缩已启用
  • sync使用的安装选项不足


Beo*_*e42 2

也许可以在此处查看可能导致此问题的原因。 https://github.com/tuxera/ntfs-3g/wiki/NTFS-3G-FAQ

这听起来有点像“过去”,文件 io 默认情况下不使用 DMA。如今这种情况不太可能发生,但 BIOS 是否使用 SATA 驱动器的 IDE 模拟?因为如果它正在模拟 IDE,那么它也可能正在模拟非 DMA 模式。

另一个潜在的减慢速度是 ntfs 文件压缩。您正在写入的文件夹是否启用了压缩?如果是,那么该文件夹中的所有新文件也会被压缩。