我的系统(linux 3.16,ntfs-3g 2013.1.13AR.1)有2个NTFS分区和2个ext4。我有2个硬盘,每个硬盘有1个ntfs和1个ext4。
我注意到 NTFS 分区上的高输入输出会导致 CPU 负载高,PC 变得无法使用。例如,当我以 10 Mb/s 的速度下载某些内容时 - mount.ntfs 消耗 99% 的 CPU。常规的 updateb 进程也会发生同样的情况。这是 Linux 的正常行为吗?
我的 fstab NTFS 分区:sda2 和 sdb2。 Ext4:sda6 和 sdb3
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda6 during installation
UUID=9bf161aa-d5f1-4c73-8a57-2b1dba6354bd / ext4 errors=remount-ro 0 1
# /home was on /dev/sdb3 during installation
UUID=d278e7cd-e55a-43ef-bf1f-8c27a17dfcd9 /home ext4 defaults 0 2
# swap was on /dev/sda5 during installation
UUID=b158ddad-254d-4ec9-ac69-f7fcb9c8fe30 none swap sw 0 0
/home/yanpas/.D/Музыка/ /home/yanpas/Музыка/ none bind 0 0
/home/yanpas/.D/Картинки/ /home/yanpas/Изображения/Картинки none bind 0 0
/home/yanpas/.D/Фотографии/ /home/yanpas/Изображения/Фотографии/ none bind 0 0
/home/yanpas/.D/Прочее/Видео/ /home/yanpas/Видео/ none bind 0 0
/home/yanpas/.D/Фильмы/ /home/yanpas/Видео/Фильмы/ none bind 0 0
/home/yanpas/.D/Прочее/Инструкции/ /home/yanpas/Документы/Инструкции/ none bind 0 0
/dev/disk/by-uuid/B6EE4E6CEE4E2549 /mnt/B6EE4E6CEE4E2549 auto nosuid,nodev,nofail,noauto 0 0
/dev/disk/by-uuid/68DEC1ADDEC173BA /mnt/68DEC1ADDEC173BA auto nosuid,nodev,nofail,noauto 0 0
/dev/disk/by-uuid/244E67674E67312A /home/yanpas/.D auto nosuid,noatime,nodev,nofail,uid=1000 0 0
答案1
NTFS 和 exFAT 在 Linux 中都很慢;原因之一是这些文件系统仅通过熔断层支持,这会带来相当大的开销,因此它不可避免地比实际上属于内核一部分的文件系统慢。
另一个原因是文件系统本身。正确有效地实现专有文件系统很困难。即使您弄清楚某些东西是如何工作的,有时也会存在版权/许可证/专利问题,因此对于某些文件系统,您只能获得低于标准的实现。
在 Windows 文件系统中,FAT32 在 Linux 中应该具有最佳性能。不过,我没有任何基准,你必须忍受它相当过时的限制。
NTFS 有更快的替代品,但它是一个商业产品。
http://www.tuxera.com/community/open-source-ntfs-3g/
名为 Tuxera NTFS 的高性能替代方案可用于嵌入式设备和 Mac OS X