linux读取ntfs硬盘很慢,在Ubuntu上NTFS写入速度确实很慢(<15MB/s)

在Ubuntu系统中,使用NTFS格式的硬盘写入速度很慢,通常不超过15MB/s。这并非硬件或驱动器问题,而是与ntfs-3g软件有关。通过添加"big_writes"挂载选项,可以显著减少CPU使用率并提高写入速度,例如`sudo mount -o big_writes /media/ /dev/`。此选项允许一次性传输更大的写入缓冲区,从而提高性能。然而,"big_writes"在某些情况下可能对4K随机写入基准帮助不大。此外,还有其他第三方NTFS驱动程序可供选择,如Paragon的NTFS&HFS for Linux,但使用前需确保兼容性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

当复制大文件或使用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之类的安装选项不足

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值