Проблема в неуёмном размере writeback-кеша. Система набивает кеш так быстро, как может, а потом медленно скидывает его на устройство. Как оно влияет на другие программы - надо смотреть. Либо они не могут добраться до дискового устройства, либо управление памятью всё тормозит.

Возможно, если поставить sysctl vm.dirty_background_bytes=33554432 (или другое разумное число), то станет легче. Эта переменная контролирует как много можно положить в writeback до того, как начинать запись на устройство.


Цитата из доков:

dirty_background_bytes

Contains the amount of dirty memory at which the background kernel
flusher threads will start writeback.

Note: dirty_background_bytes is the counterpart of dirty_background_ratio. Only
one of them may be specified at a time. When one sysctl is written it is
immediately taken into account to evaluate the dirty memory limits and the
other appears as 0 when read.



On 11/07/18 15:15, Евгений Золотов wrote:
  Друзья, есть глупая проблема. На одной машине два Дебиана: 32-
(ставил лет пять назад) и 64-битный (ставил весной). Во время записи
длинных файлов на USB-флэшку в 64-битном все приложения начинают
тормозить, даже курсор рывками перемещается. В 32-битном такой
проблемы нет. Куда посмотреть?

  Скорость записи на флэшку там и там одинакова. В dmesg ничего
криминального не вижу. Переменной
/proc/sys/kernel/sched_granularity_ns нет.

  Смутно вспоминаю, что когда-то решал это переключением scheduler с
режима server в режим desktop при компиляции ядра. Но сейчас
перекомпилировать бы не хотелось..

  Буду рад любым идеям. Спасибо!

С уважением, Евгений.


Ответить