Странное поведение cgroups (общие ресурсы процессора

У меня есть процессорный голодный процесс A, который слишком сильно загружает процессор (100%), что приводит к тому, что процесс B занимает недостаточно циклов... B связан с веб-ответом... поэтому, когда я сделал тест веб-ответа с оба процесса без cgroups, результат составил 5 секунд ... теперь, когда я создаю две группы и даю обоим процессам равное количество cpu.shares, затрачиваемое время увеличивается до 15 секунд.

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

Почему время отклика увеличилось бы с общими значениями по умолчанию 1024 для обеих групп, разве оно не должно быть таким же, как без cgroups ???

Теперь, когда я помещаю оба процесса в одну группу, ответ снова возвращается к 5 секундам...

Это что-то связанное с планировщиком...


person Saurabh Chopra    schedule 29.11.2013    source источник
comment
Я думаю, что этот вопрос может относиться либо к суперпользователю, либо к сбою сервера ... вы написали код для процессов A и B?   -  person orique    schedule 29.11.2013
comment
Я не писал код ни для одного из процессов... скорее я внедряю контрольные группы для лучшего управления ресурсами.   -  person Saurabh Chopra    schedule 29.11.2013


Ответы (1)


[Если у вас есть cpuacct cgroup, смонтированная с процессором, вы можете посмотреть на цифры использования, чтобы проверить, получают ли обе cgroup равные доли. ]

Я предполагаю, что в вашей установке есть некоторые процессы, работающие вне cgroups. Когда вы перемещаете некоторые процессы в контрольные группы, те, которые все еще находятся за пределами, получат более высокие доли ЦП (в сумме), чем две контрольные группы. (Каждый процесс верхнего уровня получает эквивалент 1024 акций). Чтобы достичь того, чего вы хотите, все процессы должны находиться в какой-то контрольной группе.

person Rohit Jnagal    schedule 01.04.2014