为什么 12.10 中的 USB 文件传输这么慢?

为什么 12.10 中的 USB 文件传输这么慢?

在 12.04 中,当我通过 USB 驱动器复制文件时,我通常能获得 4-8mbps 的速度。然而,在升级到 12.10 后,当我尝试执行相同操作时,我只能获得 200-300kbps 的速度。

我尝试了不同的 USB 记忆棒(在 Windows 7 上可以完美运行),但仍然遇到同样的问题。我之前在 11.10 上遇到过同样的问题,但升级到 12.04 后一切正常,所以这可能是内核问题。

以下是 的输出dmseg |tail

    mysterio@mysterio-HP-Pavilion-dv6700-Notebook-PC:~$ dmesg |tail 

[  871.023093] sdb: sdb1 
[  871.026909] sd 5:0:0:0: [sdb] No Caching mode page present 
[  871.026920] sd 5:0:0:0: [sdb] Assuming drive cache: write through 
[  871.026927] sd 5:0:0:0: [sdb] Attached SCSI removable disk 
[ 1036.226206] ISO 9660 Extensions: Microsoft Joliet Level 3 
[ 1036.233561] ISO 9660 Extensions: RRIP_1991A 
[ 1086.342973] ISO 9660 Extensions: Microsoft Joliet Level 3 
[ 1086.343010] ISO 9660 Extensions: RRIP_1991A 
[ 1173.971357] ISO 9660 Extensions: Microsoft Joliet Level 3 
[ 1173.971441] ISO 9660 Extensions: RRIP_1991A

我已使用最新更新更新了系统。可能出了什么问题?

答案1

我担心您的问题没有解决方案。USB 传输速度慢是 Ubuntu 历史上的一个幻影,时不时出现又消失。之所以发生这种情况,是因为大多数情况下开发人员无法重现此问题,因此不会发布任何解决方案。

您可以看到关于 Ubuntu(及其“同类”)中 USB 传输速率缓慢的讨论现象。例如,您可以看到此主题这次讨论另一个线程

有人说在 BIOS 中启用或禁用传统 USB 支持可以解决问题,尽管这似乎是极少数情况。

LaunchPad 上报告了一个错误,其中提出了一种解决该问题的方法,但由于它有些过时,我现在无法评估它的有效性。解决方法由让·皮埃尔错误 #66115他在此评论之后这个更详细的评论

一个热门讨论是关于 Nautilus 安装设备时启用同步模式,尽管除了 Konqueror(与 Nautilus 等效的 KDE)之外,我还没有发现任何人禁用 Nautilus 的同步选项。

一些有效性存疑的解决方法讨论如下这个超级用户的问题

如果到这里你还没有运气,那么我要告诉你,目前这个问题还没有解决方案。

目前LaunchPad 中报告的一个错误您可以将其标记为影响您的问题。如果您的硬件与错误报告的硬件不同,您可以添加评论来报告受影响的硬件。

答案2

尽管 Rodrigo 的回答非常详尽,但我认为大多数情况只是由于 usbmount 或等效热插拔处理程序的默认行为而强制写入磁盘而不是缓存。您应该检查sync设备是否启用了,例如,通过查找相应的行cat /proc/mounts。它可能看起来像:

/dev/sdb1 /media/usb0 fuseblk,sync,rw,nosuid,nodev,noexec,noatime,user_id=0,group_id=0,allow_other,blksize=4096 0 0

注意该sync标志。您需要阻止设置该标志。如果您手动挂载,则应更改 fstab 条目,如下所示这个答案。如果它是自动安装的,请查看tail /var/log/syslog插入后的输出并查找类似以下的行:

Jul 21 19:28:51 my-machine usbmount[3823]: executing command: mount -tntfs -sync,onoexec,nodev,noatime,nodiratime /dev/sdb1 /media/usb0

如果它是通过 usbmount 安装的,你可以按照我的另一个建议进行操作回答并将MOUNTOPTIONS以下行更改/etc/usbmount/usbmount.conf为:

MOUNTOPTIONS="sync,noexec,nodev,noatime,nodiratime"

MOUNTOPTIONS="noexec,nodev,noatime,nodiratime"

答案3

USB 传输速度慢的原因有多种:

  1. 正在复制的文件的大小。(文件越小,速度越慢)
  2. USB 驱动器的速度。
  3. USB 驱动器的格式化方式。(NTFS、Fat32 或 EXT4)

因此,如果该记忆棒被格式化为 NTFS,请继续阅读。

Linux 上的 NTFS 与大多数其他文件系统驱动程序略有不同,因此写入 NTFS 文件系统的数据实际上要经过 CPU。对于大多数文件系统,CPU 并不直接处理要写入的数据。

这就是为什么在 Linux 中写入 NTFS 格式的 U 盘比在 Windows 中写入 NTFS 格式的 U 盘慢的原因。因此,您可以将 USB 盘格式化为 Ext4(仅适用于 Linux)或 fat32,这两种方式都可以,但文件大小限制为 4 GiB。

答案4

我不知道这是否会对其他人有所帮助,但当我使用 Ubuntu 13.04(速度为 1mb/s 或更低)遇到传输速度非常慢的问题时,这对我来说很有效。无论如何,我在 Ubuntu 启动之前重新启动了计算机,并将 USB 硬盘插入 USB 端口,它在加载之前在黑屏上运行了一些脚本,之后我的传输速度一直保持在 24mb/s 的低端,非常好。

相关内容