当前位置: 首页>>技术问答>>正文


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

, ,

问题描述

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

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

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

最佳解决方法

根据this bug report,我解决了它添加以下行

vm.dirty_background_ratio = 5
vm.dirty_ratio = 10

进入/etc/sysctl.conf

并运行

sudo sysctl -p

次佳解决方法

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

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

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

第四种方法

是的,有一些内核设置可以调整,指定在实际写入磁盘之前必须将多少数据标记为已写入。请查看here以获得对它们的全面描述。特别是,您需要找到适合您的dirty_ratio值(默认情况下它通常对台式机/笔记本电脑而言太高,但没有一个适合所有人的幻数)。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2249.html,未经允许,请勿转载。