планировщик: как настроить cfq для одобрения интерактивных процессов

Проблема: планировщик, кажется, не способствует интерактивным процессам:

В настольной системе с автоматическим запланированным резервным копированием крона от одного (btrfs) диск другому (ext4). Процесс резервного копирования монтирует бездействующий диск (/dev/sda<X>), резервные копии на него, и наконец размонтировали его.

Каждый раз, когда процесс резервного копирования умирает, система становится неприменимой. Планировщику, кажется, не удается сделать его самое основное задание одобрения интерактивных процессов по пакетным. В то время как выполненные процессы резервного копирования, существуют большое продолжение IO, и все остальное замораживается. Клавиатура и указатель мыши прекращают отвечать. Эхо, когда клавиши нажаты в любом терминале/оболочке, отложено на несколько секунд.

Как только резервное копирование завершается, интерактивный ответ возвращается к нормальному.

Больше деталей об установке и конфигурациях:

Использование процесса резервного копирования rsnapshot (который звонит rsync и cp -al) и выполнения в более низком приоритете (заданием резервного копирования предшествуют nice), как так:

nice /usr/bin/rsnapshot -VD -c /etc/my-rsnapshot.conf daily

Выполнение резервного копирования под nice кажется, не помогает. Во время резервных копий все интерактивные процессы, кажется, оголодали тяжелым ЦП и IO rsync и cp процессы.

Это - IA-64, iCore-7 система, которая должна смочь выполнить 8 процессов параллельно. Память составляет 16 ГБ, и часть ее свободна. Обрезанный вниз mount вывод (когда дополнительный диск смонтирован):

/dev/sdb2 on / type btrfs (rw,relatime,subvol=@,thread_pool=4)
/dev/sdb3 on /home type btrfs (rw,relatime,subvol=@home,thread_pool=4)

/dev/sda2 on /media/idisk/root ext4 (rw,relatime)
/dev/sda3 on /media/idisk/home ext4 (rw,relatime)

none on /sys/fs/cgroup type tmpfs (rw)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,relatime,cpuset,release_agent=/run/cgmanager/agents/cgm-release-agent.cpuset,clone_children)
cgroup on /sys/fs/cgroup/cpu type cgroup (rw,relatime,cpu,release_agent=/run/cgmanager/agents/cgm-release-agent.cpu)
cgroup on /sys/fs/cgroup/cpuacct type cgroup (rw,relatime,cpuacct,release_agent=/run/cgmanager/agents/cgm-release-agent.cpuacct)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,relatime,memory,release_agent=/run/cgmanager/agents/cgm-release-agent.memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,relatime,devices,release_agent=/run/cgmanager/agents/cgm-release-agent.devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,relatime,freezer,release_agent=/run/cgmanager/agents/cgm-release-agent.freezer)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,relatime,blkio,release_agent=/run/cgmanager/agents/cgm-release-agent.blkio)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,relatime,perf_event,release_agent=/run/cgmanager/agents/cgm-release-agent.perf_event)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,relatime,hugetlb,release_agent=/run/cgmanager/agents/cgm-release-agent.hugetlb)

Это находится в актуальных 14.04 системах LTS. Планировщик, по умолчанию установлен на completely-fair-queue (cfq):

# cat /sys/block/sda/queue/scheduler
noop deadline [cfq]
# cat /sys/block/sdb/queue/scheduler
noop deadline [cfq]

Я смог найти, что тот связал вопрос. планировщик исчерпал ресурсы процессы, который предлагает использовать nice, но я уже делаю это.

Другой связанный вопрос с релевантной информацией: Как я изменяюсь noop планировщик

Как я могу сделать клавиатуру, мышь и интерактивные оболочки более быстро реагирующими, когда резервное копирование работает?

Заранее спасибо.

0
задан 11 May 2016 в 21:44

1 ответ

Просто частичный ответ, проведенный больше исследования и экспериментов начиная с выяснения, которые решили мою проблему, и видящий, нет никаких ответов

Там известны проблемы/ошибки в планировщиках ядра Linux по состоянию на начало 2016 года.

Краткое изложение что происходит при различных обстоятельствах, ядра остаются неактивными даже при том, что существуют выполнимые процессы в очереди процесса.

Ссылки:

Переключатель от btrfs до ext4 может облегчить эти проблемы:

Я лично переключился назад от btrfs до ext4. Производительность ввода-вывода заметно улучшилась.

Переключатель к SSD может далее облегчить производительность IO

SSD значительно отбросили в цене и надежности. Samsung на 2 ТБ SSD (EVO 850) теперь стоит немногим более, чем 600$. Переключение системы (корень и домой) к SSD теперь делает интенсивную операцию резервного копирования абсолютно непримечательной (система, SSD является мгновенным, делая тяжелые записи к обычному ext4-отформатированному диску в той же системе).

Наконец: с SSD преимущество сложных планировщиков в ядре кажется становлению сомнительным. Я изменил свое значение по умолчанию на noop без значимой неисправности вообще в производительности. Я факт, с noop планировщиком, я вижу сокращение системной нагрузки, понижаю числа масштабирования ЦП и понижаю аппаратные температуры.

$ cat /sys/block/sda/queue/scheduler
[noop] deadline cfq

$ cat /proc/cpuinfo | grep  Hz
model name      : Intel(R) Core(TM) i7-4771 CPU @ 3.50GHz
cpu MHz         : 836.308
model name      : Intel(R) Core(TM) i7-4771 CPU @ 3.50GHz
cpu MHz         : 990.253
... similar low actual frequency scaling for all cores ...
0
ответ дан 12 May 2016 в 07:44

Другие вопросы по тегам:

Похожие вопросы: