Как распределяется память на сервере ESXi?

Как распределяется память на сервере ESXi?

У нас есть сервер ESXi 4.1 с 48 ГБ оперативной памяти.

Для каждой ВМ мы выделяем 4 ГБ памяти. Поскольку на сервере будет 13 виртуальных машин, мой менеджер считает, что это неправильно.

Я собираюсь объяснить им, что ESXi на самом деле сам будет управлять памятью, но они спросили меня, сколько памяти я выделил для самого сервера ESXi.

Я ничего не выделял (даже не слышал о возможности выделения памяти для самого сервера ESXi).

Как выделяется память для сервера ESXi? Как он перераспределяет/распределяет оперативную память между виртуальными машинами без проблем?

решение1

Здесь речь идет не только о ESXi,

  1. Каждая виртуальная машина будет потреблять до 4 ГБ + «накладные расходы», что задокументированоздесь. Это зависит от vCPU, + выделенной памяти. Как минимум каждая VM будет использовать 4261.98 МБ(4096 + 165,98)
  2. Собственные накладные расходы памяти ESXi, это зависит от оборудования. Самый простой вариант — посмотреть наСистемаиспользование памяти в клиенте vSphere. Насколько я помню, это около отметки 1,3 ГБ, но как было сказано, этооченьзависит от оборудования.

Объяснение распределения памяти и перераспределения

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

Максимальное количество ресурсов, которое ваша виртуальная машина + хост попытаются использовать, будет приблизительно равно:55 ГБ Пробег может варьироваться

  • 1,3 ГБ используется ESXi
  • 4261,98 МБ * 13 используется виртуальными машинами

Есть еще один аспект, который следует учитывать, и это пороги памяти. По умолчанию VMware будет стремиться иметь 6% свободной памяти (высокий порог памяти). Поэтому55 ГБиспользуемой памяти необходимо сократить до~45ГБ

Это означает, что хост будет иметь приблизительно 10 500 МБ памяти, которую ему нужно будет вернуть откуда-то, если виртуальные машины будут использовать выделенную им память. ESX делает три вещи, чтобы найти эти дополнительные 10,5 ГБ.

Методы восстановления памяти

  1. Прозрачный обмен страницами
  2. Раздувание памяти
  3. Замена гипервизора

Вы должны прочитать и понятьПонимание управления ресурсами памяти в VMware® ESX™ Server.

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

Некоторые приблизительные правила, которые стоит знать (все в вышеуказанной статье и других источниках).

  1. Прозрачный обмен страницамине происходит для виртуальных машин, которые используют страницы размером 2/4 МБ. Поскольку вы выделили 4096 МБ для своих виртуальных машин Windows, они будут использовать страницы размером 2/4 МБ по умолчанию (зависит от PAE). Только при нехватке памяти VMware разобьет большие страницы на страницы размером 4 КБ, которые можно будет совместно использовать. TPS использует циклы простоя ЦП и сканирует страницы памяти с определенной скоростью. Он возвращает память относительно медленно (представьте час, а не минуты). Поэтому шторм загрузки будет означать, что TPS вам не поможет. Из трех вариантов этот оказывает наименьшее влияние на производительность. Подробнее из документа,

В системах аппаратной виртуализации памяти (например, Intel EPT Hardware Assist и AMD RVI Hardware Assist [6]) ESX автоматически поддерживает гостевые физические страницы большими физическими страницами хоста (непрерывная область памяти 2 МБ вместо 4 КБ для обычных страниц) для лучшей производительности из-за меньшего количества промахов TLB. В таких системах ESX не будет совместно использовать эти большие страницы, потому что: 1) вероятность нахождения двух больших страниц с идентичным содержимым низкая, и 2) накладные расходы на побитовое сравнение для страницы размером 2 МБ намного больше, чем для страницы размером 4 КБ. Однако ESX по-прежнему генерирует хэши для страниц размером 4 КБ в каждой большой странице. Поскольку ESX не будет выгружать большие страницы, во время замены хоста большая страница будет разбита на маленькие страницы, чтобы эти предварительно сгенерированные хэши можно было использовать для совместного использования маленьких страниц перед их выгрузкой. Короче говоря, мы можем не наблюдать никакого совместного использования страниц для систем аппаратной виртуализации памяти, пока память хоста не будет перегружена.

  1. Полеты на воздушном шаревступает в действие следующим (пороги настраиваются, по умолчанию это когда на хосте менее 6% свободной памяти (между высоким и программным)). Убедитесь, что вы установили драйвер, и следите за Java иудалосьприложения в целом. ОС не имеет представления о том, что дальше будет делать сборщик мусора, и в итоге он попадет на страницы, которые были выгружены на диск. Нередко бывает так, что серверы, на которых работают исключительно приложения Java, полностью отключают выгрузку, чтобы гарантировать, что этого не произойдет. Взгляните на страницу 17 vSphere Memory Management, SPECjbb

  2. Замена гипервизора, из трех методов - единственный, которыйгарантии"память" доступна гипервизору в установленное время. Это будет использовано, если 1 и 2 не дадут ему достаточно памяти, чтобы оставаться поджесткийпорог (по умолчанию 2% свободной памяти). Когда вы прочитаете показатели производительности (сделайте свои собственные), вы поймете, что это худший показатель из трех. Старайтесь избегать его любой ценой, так как влияние на производительность будет очень заметным почти для всех приложенийдвузначный процент

  3. Есть еще одно состояние, о котором следует знатьнизкий(по умолчанию 1%). Из руководства следует, что это может существенно снизить производительность,

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

Краткое содержание

Главное, на что следует обратить внимание: на основании технических документов невозможно предсказать, как поведет себя ваша среда.

  1. Сколько может дать вам TPS? (Зависит от того, насколько схожи ваши виртуальные машины с их ОС, пакетом обновления и запущенными приложениями)
  2. Как быстро ваши виртуальные машины выделяют вам память? Чем быстрее они это делают, тем больше вероятность, что вы перейдете к следующему порогу, прежде чем менее действенная схема освобождения памяти сможет удержать вас на текущем пороге.
  3. В зависимости от области применения каждая схема восстановления памяти будет иметь разный эффект.

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


Редактировать 1

Стоит добавить, что в vSphere 4 (или 4.1, не помню точно) теперь можно разместить файл подкачки гипервизора на локальном диске, но все равноvmotionVM. Если вы используете общее хранилище, я настоятельно рекомендую вам переместить файл подкачки гипервизора на локальный диск по умолчанию. Это гарантирует, что когда один хост испытывает сильную нехватку памяти, это не повлияет на все остальные хосты/VM vSphere в том же общем хранилище.

Редактировать 2

На основании комментариев выделил жирным шрифтом тот факт, что ESX не выделяет память заранее...

Редактировать 3

Немного подробнее о порогах памяти.

решение2

VMware (и другие технологии виртуализации)делитьсяресурсов (памяти, процессорного времени, ввода-вывода различных видов) между виртуальными машинами в соответствии с различными алгоритмами.

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

Вы также можете управлять эффектом алгоритмов, назначая разным ВМ весовые коэффициенты для разных ресурсов — например, вы можете назначить ВМ сервера приложений более высокий вес для процессора, чем ВМ файлового сервера. Однако стандартные настройки будут очень хорошо справляться с большинством требований. В некоторых случаях, чтобы успокоить менеджеров, которые не совсем понимают, достаточно выполнить некоторую настройку, но, конечно, будьте осторожны и прочитайте документацию по вашей версии VMware и поймите, что вы делаете. Если ваш менеджер не нуждается в дальнейшем успокоении, то просто используйте значения по умолчанию.

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

решение3

Позвольте вашей установке VMWare ESXi справиться с этим. Вы можете перераспределить ресурсы RAM в системах VMWare из-за использованияМетоды раздувания, сжатия и дедупликации памяти.

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

Связанный контент