Highlighted
Enthusiast
Enthusiast

Resource Allocation

Прочел несколько русских и зарубежных статей настройки Resourse Allocation, в том числе http://frankdenneman.nl/2009/12/impact-of-memory-reservation/ , в которой рассзкаывается как рассчитываются значения Limit Share Reservation. Судя из того, что понял, выходит что расчет идет следующим образом: из заданного количества (буду приводить пример на RAM) оперативки, 2Гб вычитам заданное количество зарезервированных ресурсов, 1Гб, а остальное рассчитываем исходя из параметра Share. Допустим у меня 2 пула ресурсов (кластеру выделено 3Гб RAM), и один пул настроен как Medium другой Low. В медиуме у меня 2 ВМ, следовательно каждой выделится по 1Гб RAM. Если я зарезервирую за одной из ВМ 500Мб RAMкак тогда будет происходить раскидка ресурсов:

я так понял остальные 1500Мб поделятся пополам и будет раскидывание 1250Мб у одной ВМ и 750Мб у другой

либо 500Мб это всего лишь число, которое будет выдано полюбому, а раскидывание так и останется 1к1

И ще сразу вопрос, что если назначить Limit той ВМ, у которой стоит Reservation в 600Мб, будет ли использоваться второй машиной вся оставшаяся память (1400Мб) или она не затронется?

My Blogs: http://www.vmworld5.ru/ || http://www.vsphere5.ru/
0 Kudos
29 Replies
Highlighted
Hot Shot
Hot Shot

Тимофеев Сергей wrote:

Получается, что при превышении лимита по памяти включается balooning, чтобы vmmemctl выбрал оптимальные страницы для переноса в VMkernel Swap ?

верно, но не для переноса в свап гипервизора, а для того что бы гость сам выбрал какие страницы отправить в свой внутренний свап.  Баллунинг - это инстурмент гипервизора повлиять на гостевой свапинг.

vcp4, vcp5
0 Kudos
Highlighted
Expert
Expert

Всегда считал, что балунинг- инструмент overcommitment'a, включается при битве ВМ за память.

И файл подкачки в гостевой ОС, мне кажется, в этом случае вобще не при делах. Гостевая ОС не знает ни о каком лимите по памяти, верит что у неё столько памяти, сколько указали при создании ВМ + сколько-то в её личном свопе.

При превышении Limit'a ВМ по-прежнему верит, что у неё всё то же количество физической памяти и еще свой своп. Вот только дальнейшая память будет выдаваться ей гипервизором из своп-файла ВМ.

Если и правда, Baloon Driver начинает работать на определение лучших страниц для помещения в своп-файл, то респект.

0 Kudos
Highlighted
Hot Shot
Hot Shot

Тимофеев Сергей wrote:

Всегда считал, что балунинг- инструмент overcommitment'a, включается при битве ВМ за память.

но в случае с лимитом оверкомтимента нет.

так же баллунинг используется и когда случается оверкомит. гипревизор забирает неиспользуемую память гостя.

Тимофеев Сергей wrote:

Гостевая ОС не знает ни о каком лимите по памяти, верит что у неё столько памяти, сколько указали при создании ВМ + сколько-то в её личном свопе.

При превышении Limit'a ВМ по-прежнему верит, что у неё всё то же количество физической памяти и еще свой своп. Вот только дальнейшая память будет выдаваться ей гипервизором из своп-файла ВМ.

гость не знает. а балун-драйвер знает. и с помощью него гипервизор забирает у гостя так называемую machine memory. а те страницы памяти гостя, кот ссылались на эту память (guest virtual), операционка помещает в свой свап. Так же не забываем, что параллельно работает TPS и compression. так что до внешнего свапа еще куча механизмов.

vcp4, vcp5
0 Kudos
Highlighted
Expert
Expert

В какой документации сказано, что при превышении лимита используется файл подкачки ОС, а не свап ВМ?

0 Kudos
Highlighted
Hot Shot
Hot Shot

Тимофеев Сергей wrote:

В какой документации сказано, что при превышении лимита используется файл подкачки ОС, а не свап ВМ?

вот пожалуйста

The memory balloon driver (vmmemctl) collaborates with the server to reclaim pages that are considered least valuable by the guest operating system. The driver uses a proprietary ballooning technique that provides predictable performance that closely matches the behavior of a native system under similar memory constraints. This technique increases or decreases memory pressure on the guest operating system, causing the guest to use its own native memory management algorithms. When memory is tight, the guest operating system determines which pages to reclaim and, if necessary, swaps them to its own virtual disk.


а именно баллунинг используется гипервизором для управления лимитом

забыл добавить название гайда - vSphere Resource Management Guide (стр. 29)

vcp4, vcp5
0 Kudos
Highlighted
Expert
Expert

mayonnaise wrote:

забыл добавить название гайда - vSphere Resource Management Guide (стр. 29)


Про лимиты там ни слова, но прочитал еще раз внимательнее http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=103311... , особенно "The VMkernel first tries to reclaim memory by inflating the Balloon Driver to let the guest memory manager decide what to page out.", похоже, что Ваша правда.

Вот тут - http://www.vmguru.com/articles/hypervisor/7-memory-behavior-when-vm-limits-are-set-revisited об этом говорят.

Был уверен, что используется .vswp

0 Kudos
Highlighted
Hot Shot
Hot Shot

Тимофеев Сергей wrote:

Был уверен, что используется .vswp

удалите гостевой файл подкачки и операционке больше некуда будет сбрасывать страницы памяти, кроме как в ram-кеш и внешний свап.

vcp4, vcp5
0 Kudos
Highlighted
VMware Employee
VMware Employee

mayonnaise wrote:

Тимофеев Сергей wrote:

Был уверен, что используется .vswp

удалите гостевой файл подкачки и операционке больше некуда будет сбрасывать страницы памяти, кроме как в ram-кеш и внешний свап.

     Если вы по коридору
     Мчитесь на велосипеде,
     А навстречу вам из ванной
     Вышел папа погулять,
     Не сворачивайте в кухню,
     В кухне - твердый холодильник.
     Тормозите лучше в папу.
     Папа мягкий. Он простит.

сорри, не удержался Smiley Happy

-- http://www.vm4.ru/p/vsphere-book.html
0 Kudos
Highlighted
Expert
Expert

А что скажет по этому поводу "тяжелая артиллерия"? ))

0 Kudos
Highlighted
VMware Employee
VMware Employee

Тимофеев Сергей wrote:

А что скажет по этому поводу "тяжелая артиллерия"? ))

я со всем согласен, да и ссылку на свой пост на эту тему я уже приводил.

а последняя реплика была посвящена совету отключить своп гостей.

правда, надо признать, кое где в курсах такая рекомендация попадалась - про VDI.

правда, мне такая рекомендация кажется сомнителной.

-- http://www.vm4.ru/p/vsphere-book.html
0 Kudos