![为什么我的 USB 3.0 闪存盘复制几秒钟后传输速率就会下降?](https://linux22.com/image/1403158/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84%20USB%203.0%20%E9%97%AA%E5%AD%98%E7%9B%98%E5%A4%8D%E5%88%B6%E5%87%A0%E7%A7%92%E9%92%9F%E5%90%8E%E4%BC%A0%E8%BE%93%E9%80%9F%E7%8E%87%E5%B0%B1%E4%BC%9A%E4%B8%8B%E9%99%8D%EF%BC%9F.png)
我刚买了一个 SanDisk Ultra USB 3.0 64GB 闪存盘。规格表示该驱动器的最大读取速度为 80Mb/s。
我只有一个 USB 2.0 端口,并且我做了以下测试:
- 在(新格式化的)闪存驱动器上写入 4GB 文件的初始速度为 20Mb/s,几秒钟后下降到约 7Mb/s。
- 将同一个文件写入连接到同一个端口的 WD Passport USB HD 的速度恒定为 20Mb/s。
我是否应该怀疑闪存驱动器出现故障或者可能有正当理由?
答案1
你无法真正得出结论写速度从读速度。通常这些值会在某些量级上有所不同,并且不同设备之间存在很大差异。
在写入 USB 密钥后不久,您会发现速度下降,这很可能是由于操作系统写入了缓冲:出于性能原因,您的操作系统不会直接写入 USB 密钥,而是写入所谓的缓冲区缓存,假设实际上不需要立即写入文件。在大多数情况下,缓存写入并稍后在后台进行实际写入是完全没问题的(对于硬盘来说完全正确,但对于 USB 密钥则不一定)。速度下降是由于批量写入较大的数据而导致的,您的操作系统决定不应进一步写入缓冲区缓存。
这也是您需要在物理移除可移动设备之前明确弹出它们的原因之一。
答案2
因为只要您单击复制,它就会立即复制到 RAM(不仅如此)或其他更快的替代方案中。这称为缓存。一旦使用了缓存数据,复制就必须使用非缓存数据。