当前位置: 首页>>技术教程>>正文


在Ubuntu上NTFS写入速度确实很慢(<15MB/s)

,

问题描述

当复制大文件或使用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

如何确定写入速度?

最佳回答

以前的帖子在正确的轨道上,提供了参考:

perhaps check here for ideas on what could be causing it. http://www.tuxera.com/community/ntfs-3g-faq/#slow

Workaround: using the mount option “big_writes” generally reduces the CPU usage, provided the software requesting the writes supports big blocks.

只需添加big_writes选项,例如

sudo mount -o big_writes /media/<mount_dir> /dev/<device>

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

从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).

结束语:

  • big_writes选项可能对4K随机写入基准没有帮助;-)

  • 虽然Tuxera似乎为嵌入式系统合作伙伴保留了pro NTFS驱动程序,但Paragon提供了另一种供个人使用的免费NTFS驱动程序,称为NTFS&HFS for Linux 9.0 Express和专业版本。但是,我不保证该产品,当我尝试以前的版本(v8.5)时,我当时无法使其与我的Linux内核版本一起使用。

次佳回答

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

  • 磁盘碎片

  • NTFS磁盘压缩已启用

  • 使用了诸如sync之类的安装选项不足

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11458.html,未经允许,请勿转载。