使用 复制大文件或测试写入速度时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)
结语:
也许可以在此处查看可能导致此问题的原因。 https://github.com/tuxera/ntfs-3g/wiki/NTFS-3G-FAQ
这听起来有点像“过去”,文件 io 默认情况下不使用 DMA。如今这种情况不太可能发生,但 BIOS 是否使用 SATA 驱动器的 IDE 模拟?因为如果它正在模拟 IDE,那么它也可能正在模拟非 DMA 模式。
另一个潜在的减慢速度是 ntfs 文件压缩。您正在写入的文件夹是否启用了压缩?如果是,那么该文件夹中的所有新文件也会被压缩。