当我复制文件时(无论我使用哪种进程 - krusader、cp、dd 等),一开始速度非常快,快得离谱(USB 2.0 笔式驱动器的速度约为 7000 MB/s)。然后它突然变慢(通常为 99%)并且几乎冻结了几分钟。我的猜测是,第一部分被复制到某个缓存中,然后它以正常速度同步到 USB。
/dev/sdb
当我测试驱动器性能(是 USB 2.0 笔式驱动器)时,问题出现在这里:
$ sudo hdparm -Tt /dev/sdb
/dev/sdb:
Timing cached reads: 14654 MB in 2.00 seconds = 7332.19 MB/sec
Timing buffered disk reads: 64 MB in 3.05 seconds = 20.97 MB/sec
笔记本电脑:Ubuntu 16.04(4.10.0-42-generic)、Awesome WM、16G RAM、512 SSD,......(这不是我第一次遇到这种情况 - 我的旧笔记本电脑也遇到了同样的问题,还有 16G RAM)
答案1
您可能遇到了提到的错误,但这也可能是正常操作。
起初,系统会将数据写入驱动器缓存,根据内存总线速度,写入速度可能会非常快。当缓存达到一定程度时,它会开始将页面推送到磁盘,同时仍接收对缓存的写入。由于磁盘写入比内存写入慢得多,因此缓存最终会被填满。当这种情况发生时,系统会将缓存刷新到磁盘并开始直接写入磁盘。根据缓存大小,此刷新可能需要一段时间才能完成。
正如您链接的错误报告中提到的,更改“脏比”可以减少这种滞后。