问题描述

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

我的具有低规格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之类的安装选项不足

参考资料

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐