USB写入速度问题

USB写入速度问题

我需要了解几件事:我连接到装有 Ubuntu 17.10 的笔记本的每支 USB 笔(2.0 和 3.0)都会导致写入文件的速度非常慢。如果我将 1GB(例如一部电影)粘贴到 3.0 笔上,它开始非常快(我认为速度刚刚好),但随后速度就会变得非常慢,并且会在 3 分钟内保持在 99%。我记得在装有相同 Ubuntu 版本和相同 USB 笔的旧电脑上没有遇到过这个问题。我可以做些什么来缓解这种情况吗?

答案1

复制到 RAM,然后复制到 USB 驱动器

您会看到复制过程会将数据写入 RAM 中的缓冲区,然后复制过程将忙于下一步,即将数据从缓冲区写入 USB 闪存盘的内存单元。不同版本的 Ubuntu 具有不同的“断点”,缓冲在此停止,写入 USB 驱动器开始,并设置复制速度。

我在多个版本的 Ubuntu 中都看到过这种现象,不同版本之间可能会有所不同。在使用以下软件创建 USB 启动盘时,这一点非常明显:韓國。以下是 mkusb 的输出,在 Ubuntu 17.10 中向 Sandisk Extreme USB 3 闪存盘写入数据时,

...
Installing 'lubuntu-16.04.1-desktop-amd64.iso' to '/dev/sdb' ... :

< "lubuntu-16.04.1-desktop-amd64.iso" pv -s 896532480 | dd bs=4096  of=/dev/sdb
 Please wait for sync until 'Done' is written 
 (flushing file system buffers to the device)
 855MiB 0:00:05 [ 150MiB/s] [===========================================>] 100%
218880+0 records in
218880+0 records out
896532480 bytes (897 MB, 855 MiB) copied, 19,4446 s, 46,1 MB/s
Syncing the device ...
 Done :-) 
p_clean:
live system or temporary superuser permissions
clean if necessary and return

sync

在这种情况下,刷新缓冲区非常重要,这样你才能确保写入 USB 驱动器的操作已完成,然后你就可以拔下 USB 驱动器。你可以使用以下命令

sync

为此目的。当 shell 返回提示时,同步已完成,并且缓冲区已刷新。


当您将文件写入文件系统并卸载该文件系统时,sync会在卸载文件系统(分区)之前自动运行。但是当您从 iso 文件克隆到 USB 闪存盘时,目标驱动器中没有已安装的文件系统,因此您应该使用sync

寻找快速的 USB 3 闪存盘

USB 闪存盘之间的写入速度差异很大。一些 USB 3 闪存盘速度相当快,而另一些则并不比 USB 2 闪存盘快多少。如果你想要快速写入,你可以通过此链接获得有用的提示,

help.ubuntu.com/community/Installation/FromUSBStick#Notes_about_speed

通过擦除整个设备来恢复速度

当旧的 U 盘速度变慢(通常写入速度减半)时,我会用 mkusb(用零覆盖)擦除整个设备。这样我就可以恢复原始(或接近原始)的写入速度。我认为这是一种减轻内存单元内部管理负担的方法(将逻辑单元与物理单元连接起来,可能通过释放那些很少写入的单元(因为它们一直在存储数据)。但不要太频繁地这样做,因为会磨损。

相关内容