воскресенье, 18 декабря 2011 г.

непонятки с Custom shares и Limit

 

Курс на прошедшей неделе оказался очень плодотворным – узнал много нового Улыбка

 

Вот, например, ситуация весьма мне напоминающая баг.

 

Берем две ВМ. При помощи настройки CPU Affinity делаем так, что они начинают работать на одном ядре. Нагружаем процессоры этих ВМ по полной при помощи специального средства. Наконец, отслеживаем как они борются за ресурсы, и управляем этим при помощи настроек распределения ресурсов.

(Те, кто посещал курсы по vSphere – вам такая лаба должна была запомниться).

Вот экспортированный из vCenter график, отражающий распределение ресурсов одного физического ядра между двумя ВМ:

image

 

я отметил 4 этапа, этапы отличаются настройками.

Этап 1:

Для ВМ “High” выставлены shares = High (2000). Но для нее установлен Limit = 1000 Mhz.

Для ВМ “Low” выставлены shares = Low (500).

Виртуальные машины делят ресурсы ядра практически поровну. Потому что тактовая частота ядра чуть больше 2000 Mhz, ВМ “High” имеет больше shares, но уперлась в свой лимит на половине.

 

Реальная ситуация совпадает с расчетной.

Этап 2:

Снят лимит для ВМ “High”.

Виртуалки делят ресурсы по shares, 1:4.

 

Реальная ситуация совпадает с расчетной.

Этап 3:

Для обеих ВМ shares делается Custom, но численное значение просто увеличивается на порядок для обеих, Т.е. вместо 2000:500 становится 20 000:5 000. Но по прежнему 1:4. Как видно, распределение ресурсов действительно не изменилось. Небольшой пик – при внесении изменений в настройки.

 

Реальная ситуация совпадает с расчетной.

Этап 4:

Для ВМ “High” опять ставится limit = 1000 Mhz,

Распределение ресурсов должно стать таким же, как на этапе 1.

Но вместо того, чтобы опуститься на 1000 Mhz, ВМ “High” опускается до 450(!!!).

 

Почему?

4 комментария:

  1. А если на этапе 4 шарес выставить 2000:500, то картина будет такой же, 450Mhz?

    ---
    Deshifrator

    ОтветитьУдалить
  2. на сколько я помню, там был скриптец в виде батничка, который чёто там вычисляет очень долго)

    ОтветитьУдалить
  3. да, там какой-то vbs, синусы, что ли, считает.
    3 миллиона операций за Х секунд одна итерация.

    ОтветитьУдалить