Вчера я копировал один файл объемом 8 ГБ на USB с медленной скоростью записи 7 МБ / с, а объем оперативной памяти составляет 3 ГБ. Во время копирования система зависла до такой степени, что я даже не мог переместить курсор.
Мне удалось войти в текстовую консоль и запустить iotop
, это показало, что названный процесс kswapd0
занимает 99,99% ввода-вывода.
Существуют ли обходные пути, поэтому копирование большого файла не делает мою систему непригодной для использования?
Ответы:
В соответствии с этим сообщением об ошибке я решил, добавив следующие строки
в /etc/sysctl.conf
и работает
источник
dirty_background_bytes
а такжеdirty_bytes
используют абсолютные байтовые значения. Я исправил эту проблему с помощью второго ответа, но чтобы сделать его постоянным, добавьте егоsysctl.conf
, посмотрите этот ответ . Поэтому при использовании процентных значений настраивайте их при обновлении памяти.Я столкнулся с аналогичной проблемой. Мой 64-битный Ubuntu 14.04. Поэтому после долгой борьбы я нашел ответ, который решает мою проблему. Для простоты использования я добавил нижеприведенные команды в ответе выше . Проверьте ответ для подробного объяснения.
После использования вышеуказанной команды система начала нормально работать при копировании файлов.
Спасибо @Rmano .
источник
У меня возникла похожая проблема с зависанием системы при копировании на флешку. Я отправил отчет об ошибке по этому адресу : https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1267648.
В качестве обходного пути я обнаружил, что отключение свопа полностью устраняет проблему.
источник
Да, есть настройки ядра, которые вы можете настроить, указав, сколько данных нужно пометить как записанные, прежде чем они действительно будут записаны на диск. Посмотрите здесь для довольно полного их описания. В частности, вы захотите найти значение dirty_ratio, которое хорошо вам подходит (по умолчанию оно слишком велико для настольных компьютеров / ноутбуков, но не существует единого магического числа, подходящего для всех).
источник
У меня была точно такая же проблема (в 2019 году), на Ubuntu 19.10, при копировании большого количества файлов с USB-диска на SATA-диск. Обе файловые системы являются ext4. Когда я выключил своп, проблема исчезла. Это похоже на некоторую ошибку в распределении памяти для дисковых буферов - очевидно, ядро пытается выделить как можно больше памяти для дисковых буферов в такой ситуации, что не имеет смысла (создание дисковых буферов в swap ...), или он просто неправильно вычисляет объем памяти, который может быть использован для кэширования ...
источник
У меня были похожие проблемы при копировании файлов на
exfat
диск. У меня было меньше проблем с использованиемext4
файловой системы на жестком диске USB.источник