gorts
Contributor
Contributor

расчет shared memory

Jump to solution

Добрый день!

Хотел бы разобраться с shared memory

Например имеется один ESXi хост с 48 Гб ОЗУ

1) Виртуальная машина (ВМ) имеет 25 Гб памяти shares= high

2) Виртуальная машина (ВМ) имеет 20 Гб памяти shares= normal

3) Виртуальная машина (ВМ) имеет 10 Гб памяти  shares= low

4) Виртуальная машина (ВМ) имеет 10 Гб памяти  shares= low

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

Прочитал статьи но ясности такдля себя до конца понять не могу.

http://vmzare.wordpress.com/2007/02/27/sharesreservationlimits-cpumemory-resource-settings/

http://www.vmgu.ru/articles/vmware-vsphere-shares-limit-reservation

В литературе указано, что Для памяти Low, Normal или High соответствуют 5, 10 или 20 shares на каждый мегабайт памяти ВМ.Они обозначают соотношение приоритетов использования ресурсов 8000:4000:2000 (4:2:1) соответственно

в таком случае подсчитываем, что для ВМ

1) 20*1024*25=512000 share(сов)

2) 10*1024*20=204800 share(сов)

3) 5*1024*10=51200 share(сов)

4) 5*1024*10=51200 share(сов)

Хорошо мы подсчитали  а сколько будет в Мегабайтах???

Я провел расчет но мне кажется, что где то ошибся поправте меня пожалуйста если это действительно так.

1) 24 Гб

2) 12 Гб

3) 6 Гб

4) 6 Гб

0 Kudos
1 Solution

Accepted Solutions
RumataRus
Commander
Commander

Вы верно рассчитали shares для виртуальных машин.

Их сумма 512000 + 204800 + 51200 + 51200 = 819200 - всего Shares, подлежащих распределению.

Если 48 Гб - это 100%, то проценты, на которые имеют право машины соответственно:

512000/819200*100% = 62.5%

204800/819200*100% = 25%

51200/819200*100% = 6.25%

51200/819200*100% = 6.25%

Ну и в итоге память, на которую имеют право машины соответственно:

62.5% * 48 Гб = 30 Гб

25% * 48 Гб = 12 Гб

6.25% * 48 Гб = 3 Гб

6.25% * 48 Гб = 3  Гб

UPD (в связи с замечанием ниже):

но т.к. первой машине вообще выделено только 25 Гб, то именно на них она и будет иметь право.

"Лишние" 5Гб от первой машины будут распределены пропорционально шарам оставшихся трех машин.

Всего шесть долей, по одной доле достанется третьей и четвертой машине; четыре доли достанется второй машине.

Т.е. вторая, третья и четверная машины будут иметь право дополнительно к расчитанным выше на:

5*4/6 = 3,33 Гб

5*1/6 = 0,83 Гб

5*1/6 = 0,83 Гб

View solution in original post

0 Kudos
6 Replies
RumataRus
Commander
Commander

Вы верно рассчитали shares для виртуальных машин.

Их сумма 512000 + 204800 + 51200 + 51200 = 819200 - всего Shares, подлежащих распределению.

Если 48 Гб - это 100%, то проценты, на которые имеют право машины соответственно:

512000/819200*100% = 62.5%

204800/819200*100% = 25%

51200/819200*100% = 6.25%

51200/819200*100% = 6.25%

Ну и в итоге память, на которую имеют право машины соответственно:

62.5% * 48 Гб = 30 Гб

25% * 48 Гб = 12 Гб

6.25% * 48 Гб = 3 Гб

6.25% * 48 Гб = 3  Гб

UPD (в связи с замечанием ниже):

но т.к. первой машине вообще выделено только 25 Гб, то именно на них она и будет иметь право.

"Лишние" 5Гб от первой машины будут распределены пропорционально шарам оставшихся трех машин.

Всего шесть долей, по одной доле достанется третьей и четвертой машине; четыре доли достанется второй машине.

Т.е. вторая, третья и четверная машины будут иметь право дополнительно к расчитанным выше на:

5*4/6 = 3,33 Гб

5*1/6 = 0,83 Гб

5*1/6 = 0,83 Гб

View solution in original post

0 Kudos
EGarbuzov
VMware Employee
VMware Employee
62.5% * 48 Гб = 30 Гб

Румата, а вас не смутило, что по расчётам КПД первого землекопа оказалось 120%? :smileygrin:

0 Kudos
RumataRus
Commander
Commander

Виноват, упустил из вида, что первой машине вообще выделено только 25 Гб, т.е. только на них она и будет иметь право.

Соответственно "лишние" 5Гб будут распределены пропорционально шарам оставшихся трех машин.

0 Kudos
gorts
Contributor
Contributor

Благодарю Вас отличный ответ теперь я точно понял!!!

0 Kudos
cheetah80
Contributor
Contributor

а я не понял, почему 6 долей и именно такое распределение по оставшимся виртуалкам?

>но т.к. первой машине вообще выделено только 25 Гб, то именно на них она и будет иметь право.

>"Лишние" 5Гб от первой машины будут распределены пропорционально шарам оставшихся трех машин.

>Всего шесть долей, по одной доле достанется третьей и четвертой машине; четыре доли достанется второй машине.

>Т.е. вторая, третья и четверная машины будут иметь право дополнительно к расчитанным выше на:

>5*4/6 = 3,33 Гб

>5*1/6 = 0,83 Гб

>5*1/6 = 0,83 Гб

0 Kudos
RumataRus
Commander
Commander

cheetah80 wrote:

а я не понял, почему 6 долей и именно такое распределение по оставшимся виртуалкам?

Потому что доли трех оставшихся виртуальных машин снова должны образовать 100% для распределения.

25%, 6.25%, 6.25%  соотносятся как 4:1:1, всего шесть долей, дополнительно распределяются 5Гб.

0 Kudos