操作系统是 Debian 10。文件管理器是 Thunar。
我注意到,当我将几十 GB 的数据复制到 USB 闪存驱动器时,整个过程只需要一两分钟。然后当我去弹射时,弹射过程可能需要一个小时或更长时间。 USB 驱动器很好,只是需要从磁盘缓存中刷新大量数据。
问题是这样的:我不知道弹出过程还剩下多少时间。
那里必须是查看这方面进展的一种方式。或者更好的是,有没有一种方法可以将文件复制到 USB 闪存驱动器并完全跳过磁盘缓存,仅针对该物理设备?
我知道如何跳过磁盘缓存dd
,但这在这里没用。
当然,sync
没有进度条,据我所知不允许您指定物理设备。
答案1
我从来没有使用过 Thunar(除了获得画廊的概述之外的任何其他用途),所以我不知道它如何处理安装,它可能使用这个名为 udisks2 的“奇特”新东西。
一个解决方案可能是使用该sync
选项安装设备,在过去的好日子里,这将通过 处理/etc/fstab
,如果 Thunar 使用的任何东西都尊重这一点,它仍然是可行的,否则你必须弄清楚是否可以配置它方式。
答案2
你已经发现了为什么 2013 年会出现“U 盘失速”问题?为什么现有的“无 I/O 脏节流”代码没有解决这个问题?
怎么解决呢?不幸的是,Linux 不允许每个设备有脏缓冲区,所以我自己解决这个问题的方法如下(根据 Linux Torvalds 的建议):
cat /etc/sysctl.d/limit_dirty_buffers.conf
# Per Torvalds advice
vm.dirty_background_bytes = 33554432
vm.dirty_bytes = 134217728
定期同步并不是最好的主意,因为它会导致更高的撕裂和磨损,并进一步减慢该过程。
答案3
一个可能的解决方案可能是运行一个守护进程同步(2)每隔几秒就呼叫一次。这可能会降低整个 Linux 系统的速度。
我的同步周期.c程序就是这样一个守护进程。 GPLv3+ 许可,所以没有保修并且您可能会丢失所有数据。您获得了源代码,并且可以改进它。
它是一个命令行,而不是一个GUI界面、程序(没有进度条)。你可以从/etc/crontab
- 看定时任务(5)。
附言。请通过电子邮件联系我[email protected]
(法国巴黎附近)了解详情。