LINUX.ORG.RU

/usr/src/linux/Documentation/cgroups/cpusets.txt

tux2002
()

а всё же разве не должна автоматическая балансировка нагрузки между вёдрами быть?

af5 ★★★★★
() автор топика
Ответ на: комментарий от af5

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

xydo ★★
()
Ответ на: комментарий от xydo

наверное clamav запустился там же где и ntfs-3g потомучто ntfs-3g без нагрузки не грузил проц, а потом видимо уже не перекидывается автоматически

af5 ★★★★★
() автор топика
Ответ на: комментарий от af5

ну, то, что я описал - это алгоритм работы планировщика в черновом приближении))
разумеется, в ход идёт и анализ потребления ресурсов.
по истечении кванта у clamav планировщик видит, что других программ, конкурирующих за данный cpu нет (т.е. нет ситуации, когда другая прога ждёт cpu, а все остальные заняты на 100%), и выделяет clamav еще время.

запусти еще одну грузёвую задачу (хотя бы пустой цикл в консоли), тогда увидишь, что вторая займет еще одно ядро.
а если запустишь 4 (7 - для верности) таких цикла - тогда и увидишь конкуренцию за cpu001

xydo ★★
()
Ответ на: комментарий от xydo

так верно или нет что после старта процесса ведро не меняется? то есть система сама не станет перекидывать уже запущенный процесс на другое ядро?

af5 ★★★★★
() автор топика

почему-то данная особенность характерна именно для ntfs-3g
оно обычно висит на том же ядре что и процесс использующий файлы на ntfs,
почему так - я не знаю, но ситуация на редкость постоянная, особенно с процессами интенсивно нагружающими как процессор так и disk io

причем то же самое происходит и с wine, например инсталляция world of warcraft длится очень долго именно за счет того что инсталлер и ntfs-3g используют только одно ядро, остальные почему-то нет

anonymous
()
Ответ на: комментарий от af5

>тогда как объяснить скриншот

Обычно, во время работы "драйвера" файловой системы, потребители _её_ ресурсов находятся в состоянии "вызвал read/write", т.е. спят. И наоборот, когда "клиентам" есть что _считать_ чтение уже произошло, т.ч. заслуженно спит драйвер. Т.ч. тут всё нормально. Хочешь согреться -- запусти второй процесс.

Ещё может оказаться, что перекачка данных "между процессорами" -- слишком дорогое удовольствие, тогда такое поведение вообще логично.

DonkeyHot ★★★★★
()
Ответ на: комментарий от af5

>система сама не станет перекидывать уже запущенный процесс на другое ядро
пойми простую истину: процессы никуда не перекидываются. они отправляются в очередь! дальше освободившееся ведро (при помощи планировщика) решает, какой процесс из очереди хапнуть.
а так процесс может и полчаса ждать на выполнение (хотя это уже на грани фантастики). нет никакого перекидывания в принципе!

>так верно или нет

в общем случае на это не стоит расчитывать

xydo ★★
()

А ты не то смотришь. При чём тут статистика по дискам? Как только top запустишь сам увидишь.

Да, линух поддерживает cpu affinity, но в реальности в ручную необходимость его врубать чрезвычайно редка.

true_admin ★★★★★
()
Ответ на: комментарий от xydo

видимо придется запустить вручную на разных ядрах и проверить "логичность"

af5 ★★★★★
() автор топика
Ответ на: комментарий от true_admin

хм, правда, там про диски, надо уточнить про cpu
хотя нагружено явно одно ядро

af5 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.