USB写入:Ubuntu完成和实际完成之间的延迟

当我将数据写入USB设备(如记忆棒或外部硬盘)时,Ubuntu会以非常高的速率显示数据传输,但速度非常快。 但是,当Ubuntu说它已经完成时,usb写LED会闪烁很长时间。 当我在闪烁期间拔出USB时,实际上并未完成数据传输,并且不会写入所有数据。

有没有解决这个问题?

在拔出驱动器之前正确卸下驱动器..从终端,使用sync使其立即写入, sudo umount /path/to/stick以正确卸载它。 从GUI文件管理器,有很多方法可以做到这一点 – 您可能在驱动器图标旁边有一个符号,或者右键单击它并弹出或卸载。

你不能可靠地在任何常见操作系统中拔出一根棍子,因为写入被缓存以使你的命令具有优先权 – 如果你做了多次编辑并且它让你等待每次写入,你就不喜欢它了。 它与Windows’安全删除’相同。

这是因为Ubuntu从磁盘中获取要写入USB的所有数据并将其保存在RAM缓冲区中(取决于RAM的容量)。 然后Ubuntu显示数据已写入USB,但实际上数据正在从缓冲区传输到USB。 因此,如果您在传输过程中移除USB(尽管Ubuntu已向您显示传输已完成),您将发现所有数据尚未传输。 您可以使用

sudo iotop

检查磁盘和其他I / O之间的实时传输,当您发现传输已完成时,您可以安全地移除USB。