每当我通过 USB 将大型文件或大量文件传输到外部驱动器或从外部驱动器传输时,整个计算机在传输过程中都会变得非常缓慢。我使用的是 Ubuntu 14.04,但在早期版本中也遇到过这个问题。为什么会发生这种情况?我希望能够提交错误报告以阻止这种情况发生。
干杯,
里德
答案1
对我来说,这听起来像是系统负载的一个典型案例。
当您从驱动器读取/写入内容时,需要查找文件信息。然而,该文件可能存在碎片,位于不同位置,甚至可能没有组织。
当您将某些内容从驱动器复制到 USB 时,您必须读取(可能)碎片化的文件,然后将其重新写入另一个存储介质。对于某些系统(读取 EXT),它通常比其他系统更快(咳嗽NTFS咳嗽)。另外,如果你的处理器有问题,它会浪费其他程序的周期来尝试复制内容。
您实际上无法解决这个问题。但是,有一些解决方法:
- 对硬盘进行碎片整理。
- 尽可能使用 EXT 格式的闪存驱动器。
- 安装更多内存作为“缓存”空间。
- 使用多余的内存作为虚拟磁盘。
- 使用更好的 USB 协议。
- 升级您的处理器/PC。
- 获取 SSD。
答案2
您可以执行以下操作(这不是解决方案,而是一种解决问题的解决方法):
1) 找出复制大文件时哪个进程占用了 CPU(可能是 Nautilus / Thunar 等)。您可以使用top
或htop
来找到它。
2)cpulimit
通过发出以下命令进行安装sudo apt-get install cpulimit
3)像这样限制步骤 1 中找到的进程
cpulimit -e thunar -l 30
我们正在限制进程 thunar 的 CPU 使用率,限制它使用 100% 的 CPU 并使您的机器处于停滞状态。您只应在启动大型文件传输/复制时执行此操作。
如果有效请告知。