LINUX.ORG.RU

Распределение задач ядром и его конфиг

 


0

1

Имеется 4-х ядерник i7-2600K с 8-ю потоками, в системе видны как «processor : 0-7». В последнее время в ядре что-то изменилось, и при имеющихся настройках конфига ядра оно перестало распределять задачи кроме как на «processor 0». Какая-то настройка конфига ядра это исправляет, но я пока никак не могу понять какая именно. Логично было бы смотреть в сторону планировщика задач, но я что-то с удивлением не могу обнаружить такового. Даже планировщик I/O есть, а что отвечает за распределение процессов по виртуальным процам непонятно. На всякий случай ещё раз уточню: допустим, я запускаю «make -j9», оно запускает ряд отдельных процессов, но все они, несмотря на их ресурсоёмкость, висят именно на 0-м виртуальном проце, а виртуальные процы 1-7 простаивают (нагрузка 0%).

Да, всё в системе присутствует и не отключено. Проблема не в том, что ядро что-то не видит, а в том, что не хочет равномерно распределять задачи.

# for i in `seq 0 7`; do cat /sys/devices/system/cpu/cpu$i/online ; done
1
1
1
1
1
1
1
1
# for i in `seq 0 7`; do cat /sys/devices/system/cpu/cpu$i/cpufreq/cpuinfo_cur_freq ; done
1599859
1599992
1832148
1829226
1834007
1831617
1835734
1832945

UPD. Даже taskset корректно работает.

★★★★★

Последнее исправление: saahriktu (всего исправлений: 2)

В ядре включено CONFIG_NO_HZ_FULL? Что за школодистрибутив, или сам ядро наконпелял?

anonymous
()
Ответ на: комментарий от anonymous
#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
# CONFIG_NO_HZ_IDLE is not set
CONFIG_NO_HZ_FULL=y
CONFIG_NO_HZ_FULL_ALL=y
CONFIG_NO_HZ_FULL_SYSIDLE=y
CONFIG_NO_HZ_FULL_SYSIDLE_SMALL=8
# CONFIG_NO_HZ is not set
CONFIG_HIGH_RES_TIMERS=y

LFS. Раньше всё работало. Проблема появилась после последнего обновления.

saahriktu ★★★★★
() автор топика
Последнее исправление: saahriktu (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.