Здесь гораздо больше, чем просто ESXi,
- Каждая виртуальная машина потребляет до 4 ГБ + «накладные расходы», что описано здесь . Это зависит от vCPU, + выделенной памяти. Как минимум, каждая виртуальная машина будет использовать 4261,98 МБ (4096 + 165,98).
- Издержки памяти собственной ESXi, это зависит от оборудования. Самый простой вариант - посмотреть на использование системной памяти в клиенте vSphere. Насколько я помню, это около 1,3 ГБ, но, как указано, это очень зависит от аппаратного обеспечения.
Выделение памяти и чрезмерная ответственность
Обратите внимание, что гипервизор не будет выделять всю эту память заранее , это зависит от использования виртуальной машины. Однако стоит понять, что произойдет, если виртуальные машины попытаются выделить и использовать всю выделенную им память.
Максимальное количество попыток использования хоста VM + будет примерно равно 55 мегабайтам.
- 1,3 ГБ, используемых ESXi
- 4261,98 МБ * 13, используемых виртуальными машинами
Есть еще один аспект, который необходимо учитывать, и это пороги памяти. По умолчанию VMware будет стремиться освободить 6% (высокий порог памяти). Таким образом, 55 ГБ используемой памяти необходимо сократить до ~ 45 ГБ.
Это означает, что хост будет иметь приблизительно 10 500 МБ памяти, которые ему необходимо вернуть откуда-то, если виртуальные машины будут использовать выделенную память. ESX делает три вещи, чтобы найти дополнительные 10,5 ГБ.
Методы восстановления памяти
- Прозрачный общий доступ к страницам
- Воздушный шар памяти
- Замена гипервизора
Вы должны прочитать и понять Общие сведения об управлении ресурсами памяти в VMware® ESX ™ Server .
В зависимости от большого количества факторов, комбинация всех трех может / может произойти на переназначенном хосте. Вы должны проверить свою среду и контролировать эти показатели, чтобы понять влияние чрезмерных обязательств.
Некоторые грубые правила, которые стоит знать (все в статье выше и других источниках).
- Прозрачный общий доступ к страницам не происходит для виртуальных машин, которые используют страницы размером 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 МБ намного больше, чем для страницы 4KB. Тем не менее, ESX по-прежнему генерирует хэши для страниц размером 4 КБ в пределах каждой большой страницы. Поскольку ESX не будет выгружать большие страницы, во время замены хоста большая страница будет разбита на маленькие страницы, так что эти предварительно сгенерированные хеши могут быть использованы для обмена маленькими страницами перед их заменой. Короче говоря, мы не можем наблюдать какой-либо общий доступ к страницам для систем виртуализации памяти с аппаратным обеспечением, пока память хоста не будет перегружена.
Далее следует всплывающая подсказка (пороговые значения настраиваются, по умолчанию это когда на хосте менее 6% свободной памяти (между высоким и программным обеспечением)). Обязательно установите драйвер и следите за Java и управляемыми приложениями в целом. ОС не имеет представления о том, что будет делать сборщик мусора дальше, и в конечном итоге попадет на страницы, которые были перенесены на диск. Для серверов, работающих исключительно с Java-приложениями, нередко практикуют полное отключение свопинга, чтобы гарантировать, что этого не произойдет. Взгляните на страницу 17 из vSphere Memory Management, SPECjbb
Обмен из гипервизора из трех методов является единственным, который гарантирует доступность «памяти» для гипервизора в установленное время. Это будет использоваться, если 1 и 2 не дают достаточно памяти, чтобы оставаться под жестким порогом (по умолчанию 2% свободной памяти). Когда вы прочитаете метрики производительности (выполните свои собственные), вы поймете, что это худший результат из трех. Старайтесь избегать этого любой ценой, поскольку влияние на производительность будет очень заметным почти во всех приложениях. Двузначный процент
Есть еще одно состояние, которое нужно знать о низком уровне (по умолчанию 1%). Из руководства это может резко сократить вашу производительность,
В редком случае, когда объем свободной памяти хоста падает ниже нижнего порога, гипервизор продолжает восстанавливать память путем замены и сжатия памяти и дополнительно блокирует выполнение всех виртуальных машин, которые потребляют больше памяти, чем их целевые выделения памяти.
Резюме
Ключевым моментом, на котором стоит подчеркнуть, является то, что невозможно предсказать из технических описаний, как ваша среда будет вести себя.
- Сколько может дать TPS? (Зависит от того, насколько похожи ваши виртуальные машины с их ОС, пакетом обновления и запущенными приложениями)
- Как быстро ваши виртуальные машины выделяют вашу память? Чем быстрее они это сделают, тем выше вероятность того, что вы перейдете к следующему порогу, прежде чем менее эффективная схема восстановления памяти сможет удержать вас в вашем текущем пороге.
- В зависимости от приложения каждая схема восстановления памяти будет иметь различное влияние.
Протестируйте свои средние сценарии, у вас 95% -ный сценарий и, наконец, ваш максимум, чтобы понять, как будет работать ваша среда.
Редактировать 1
Стоит добавить, что в vSphere 4 (или 4.1 не может быть вызван) теперь можно размещать подкачку гипервизора на локальном диске, но при этом все же использовать виртуальную машину . Если вы используете общее хранилище, я настоятельно рекомендую переместить файл подкачки гипервизора на локальный диск по умолчанию. Это гарантирует, что когда один хост находится под серьезным давлением памяти, он не оказывает влияния на все другие хосты / виртуальные машины vSphere в одном и том же общем хранилище.
Редактировать 2
На основании комментариев сделан тот факт, что ESX не выделяет память заранее жирным шрифтом ...
Редактировать 3
Объяснил немного больше о порогах памяти.