将大文件复制到USB时,系统冻结/无响应/不可用

昨天我将一个8 GB的文件复制到USB,写入速度慢,速度为7 MB / s,而我的RAM为3 GB。 虽然复制系统冻结,但我甚至无法移动光标。

我设法登录文本控制台,并运行iotop ,它显示名为kswapd0的进程占用了99.99%的IO。

是否有变通方法,因此复制大文件不会使我的系统无法使用?

根据这个错误报告,我解决了它添加以下行

 vm.dirty_background_ratio = 5 vm.dirty_ratio = 10 

到/etc/sysctl.conf

并运行

 sudo sysctl -p 

我遇到了类似的问题。 我是64位Ubuntu 14.04。 经过长时间的斗争,我找到了解决问题的答案 。 为了方便使用,我添加了上面提到的答案中使用的以下命令。 检查答案以获得详细说明。

 echo $((16*1024*1024)) > /proc/sys/vm/dirty_background_bytes echo $((48*1024*1024)) > /proc/sys/vm/dirty_bytes 

使用上述命令后系统开始正常复制文件。

谢谢@Rmano 。

复制到闪存驱动器时,我遇到与冻结系统类似的问题。 我报告了有关它的错误报告: https : //bugs.launchpad.net/ubuntu/+source/linux/+bug/1267648

正如我发现的解决方法,禁用交换完全消除了这个问题。

是的,有一些内核设置可以调整,指定在实际写入磁盘之前必须将多少数据标记为已写入。 在这里查看它们的相当全面的描述。 特别是,你会想要找到一个适合你的dirty_ratio值(默认情况下它对桌面/笔记本电脑来说通常太高了,但没有一个魔术数字对每个人都有效)。

将文件复制到exfat驱动器时遇到了类似的问题。 我在USB硬盘上使用ext4文件系统的麻烦少了。