Answers:
这是我所看到的一个问题,所有新的绿色和低功率驱动器都喜欢经常停下头。
除了上述答案中提到的明显缓存方面,Linux处理USB存储设备的方式与本地存储设备不同。
当您将数据传输到“经典”磁盘(通过SATA内部连接或通过eSATA外部连接)时,Linux内核使用DMA模式,这意味着整个传输直接从RAM到磁盘控制器完成,不涉及CPU。
这就是SATA / eSATA传输速度快的原因。
但是,当您通过USB连接相同的磁盘时,每千字节的数据将被拆分为64字节的数据包,这些数据包将在您的计算机和USB磁盘盒中的USB控制器之间进行交换。这必须使用CPU完成,因此不能在DMA模式下完成。
这就是为什么USB速度较慢的原因。
您还应该意识到,Linux在许多方面(不仅是磁盘/文件系统相关)和许多层上缓存数据。有超过100种不同的缓存。
因此,您尝试发送到USB磁盘的较大文件,在此过程中填充的缓存越多。这正是转移非线性减速的原因。