memory ballooning что это такое

Memory ballooning что это такое

memory ballooning что это такое. Смотреть фото memory ballooning что это такое. Смотреть картинку memory ballooning что это такое. Картинка про memory ballooning что это такое. Фото memory ballooning что это такоеДобрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в России Pyatilistnik.org. В прошлый раз мы с вами разобрали, почему процесс Software Reporter Tool грузит процессор на 100%. Сегодня я хочу поговорить про память в ESXI хостах и какого вида она бывает. Мы рассмотрим, что такое Memory Ballooning, разберем когда он включается и как он вам может помочь в безвыходной ситуации, до которой все же лучше не доводить.

Что такое Memory Ballooning?

memory ballooning что это такое. Смотреть фото memory ballooning что это такое. Смотреть картинку memory ballooning что это такое. Картинка про memory ballooning что это такое. Фото memory ballooning что это такое

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

memory ballooning что это такое. Смотреть фото memory ballooning что это такое. Смотреть картинку memory ballooning что это такое. Картинка про memory ballooning что это такое. Фото memory ballooning что это такое

Memory Ballooning включается когда у хост-сервера VMware ESX 6% или менее свободной памяти. Для изъятия памяти используются виртуальные машины, у которых больше всего памяти по процессу idle memory tax. Если сравнивать Ballooning и Swapping, то последний проигрывает примерно так (база данных Oracle в виртуальной машине для OLTP-нагрузок, т.е. постоянный поток небольших транзакций):

memory ballooning что это такое. Смотреть фото memory ballooning что это такое. Смотреть картинку memory ballooning что это такое. Картинка про memory ballooning что это такое. Фото memory ballooning что это такое

Когда включается Memory Ballooning в VMware vSphere-01

Помните да, что максимальный размер раздувающегося баллонного процесса можно задать глобально в Advanced Settings для всего хоста VMware vSphere:

memory ballooning что это такое. Смотреть фото memory ballooning что это такое. Смотреть картинку memory ballooning что это такое. Картинка про memory ballooning что это такое. Фото memory ballooning что это такое

Когда включается Memory Ballooning в VMware vSphere-02

Или локально в Advanced Settings виртуальной машины (то же самое, что и добавление строчки в vmx-файл конфигурации):

Кстати, в ESX 3.5 нам давали возможность изменить порог в 6%

memory ballooning что это такое. Смотреть фото memory ballooning что это такое. Смотреть картинку memory ballooning что это такое. Картинка про memory ballooning что это такое. Фото memory ballooning что это такое

Когда включается Memory Ballooning в VMware vSphere-03

Поведение хоста при нехватке памяти

Анализ статистики раздувания памяти

Вы можете проверить статистику всплывающей памяти в Esxtop, на вкладке Memory Ballooning у виртуальной машины, а также с помощью графиков производительности vCenter.

Вы увидите счетчик «MEMCTL/MB», который показывает общую активность раздувания (22110 МБ). Значения «curr» и «target» являются накопленными значениями «MCTLSZ» и «MCTLTGT», как описано ниже.

memory ballooning что это такое. Смотреть фото memory ballooning что это такое. Смотреть картинку memory ballooning что это такое. Картинка про memory ballooning что это такое. Фото memory ballooning что это такое

Мы должны искать столбцы «MCTL» для просмотра активности всплывающих окон для каждой виртуальной машины:

Вкладка распределения ресурсов

Вы можете проверить статистику «Раздувание памяти» каждой отдельной виртуальной машины на вкладке «Распределение ресурсов виртуальной машины (Resource Allocation Tab)». Это конкретное значение VM Ballooned составляет 5,08 ГБ.

memory ballooning что это такое. Смотреть фото memory ballooning что это такое. Смотреть картинку memory ballooning что это такое. Картинка про memory ballooning что это такое. Фото memory ballooning что это такое

Вкладка Performance Charts в vCenter 5.5

Вы можете сгенерировать пользовательские графики производительности в vCenter, чтобы понять статистику Memory Ballooning в памяти всех виртуальных виртуальных машин на хосте ESXi или отдельных виртуальных машинах.

memory ballooning что это такое. Смотреть фото memory ballooning что это такое. Смотреть картинку memory ballooning что это такое. Картинка про memory ballooning что это такое. Фото memory ballooning что это такое

Источник

Запуск Windows под Linux KVM

Задача: запустить некоторое количество виртуальных машин с Windows на типовом Линукс-сервере.

Решение: любой современный Linux-дистрибутив, «родная» технология виртуализации KVM, Windows 2003 и настройки, описанные ниже.

Выбор гостевой ОС

Windows XP работает под Linux KVM неустойчиво. Основные ошибки — потребление 100% процессора процессом csrss.exe (вплоть до обрыва RDP-сессий) и BSOD с кодом IRQL_NOT_LESS_OR_EQUAL в HAL.DLL. Если удалось достичь стабильной работы, обязательно отключите автоматическую установку обновлений! По нашему опыту, для работы WinXP под KVM они стали главным источником проблем.

Windows 7 работает нормально, но согласно счётчикам Proxmox, требует для работы более 3 гигабайт ОЗУ.

Для ознакомительных целей годится любой опубликованный на RuTracker дистрибутив.

Первый запуск и virtio

Теперь про самое важное на данном этапе, т.е. про диски.

После того, как установка системы и драйверов будет полностью завершена, в команде запуска следует убрать «-boot» и все строки «-drive», кроме первой, т.к. временный диск и ISO-образы станут не нужны (обратите внимание на добавленный » if=virtio «!):

Про пользу virtio, варианты настройки сети и параметры командной строки kvm читайте в habrahabr.ru/post/167099

Рекомендуемые настройки Windows

Во-первых, по умолчанию Windows создаёт при BSOD’ах полный дамп памяти. В лучшем случае, это существенно замедлит перезагрузку. В худшем, приведёт к полному зависанию.

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

После этого можете приступать к установке драйверов для диска (virt-stor) и сетевой карты (virt-net). После их установки в Диспетчере оборудования появятся «Red Hat VirtIO SCSI Controller», «Red Hat VirtIO SCSI Disk Device» и «Red Hat VirtIO Ethernet Adapter».

Ballooning

Традиционный подход — сразу при запуске виртуальной машины (ВМ) выделять ей блок ОЗУ заданного размера, например, 512 мегабайт. Его недостаток — в те моменты, когда в памяти ВМ есть неиспользуемое пространство, в других ВМ и хост-системе её может не хватать.

Memory ballooning — это механизм динамического (а) выделения хост-ОЗУ для ВМ по мере необходимости и (б) возвращения неиспользуемых блоков по мере освобождения. Благодаря ему становится возможным одновременно запускать множество ВМ, суммарный объём виртуального ОЗУ в которых больше объёма физического ОЗУ в хост-системе, при условии, что они не станут использовать максимально разрешённый объём все сразу. Благодаря этому память хост-системы распределяется между ВМ так же гибко, как между обычными процессами.

Создание виртуальных ресурсов, превышающих физические по объёму, обозначается любимыми для многих хостеров терминами «overcommit» и «overselling».

Гостевое устройство для связи с MOM диспетчер оборудования (devmgmt.msc) Windows увидит как «PCI standard RAM controller» неизвестного типа. В отличие от virt-stor и virt-net, драйвер к нему не будет предложено установить автоматически. Вместо этого, следует зайти в свойства устройства, на вкладке «Драйвер» выбрать обновление и вручную указать путь к balloon.inf на VirtIO CD (пруф). После этого устройство переименуется в «VirtIO Balloon Driver».

По умолчанию Windows 2003 разрешает выключать себя единственным способом — ввести логин-пароль, выбрать Пуск => «Завершение работы», ввести примечание, нажать «OK». Разумеется, на VDS-ферме такой подход неприемлем. KVM (и QEMU) умеет эмулировать ACPI. Команда «system_powerdown» аналогична нажатию кнопки питания на физическом компьютере, но Windows её проигнорирует. Лечится следующим REG-файлом:

Кэширование

Если образ гостевого диска хранится на VDS-ферме в виде файла, кэширование гостевых файлов может оказаться двойным — сначала их кэширует гостевая ОС при обращениях к виртуальному диску, затем ОС фермы при обращениях к физическому.

Все без исключения источники в Сети советуют не использовать writethrough как наиболее медленный. По субъективной оценке, для ВМ с Windows оптимален writeback, для ВМ с Linux и FreeBSD — none.

Зависания сети

Единственной серьёзной проблемой, которую однозначно вызывает ошибка в KVM, являются подвисания гостевой сети при интенсивном трафике: bugs.centos.org/view.php?id=5526 (кроме собственно описания ошибки, там же есть важные ссылки на другие багтрекеры).

Рекомендации, предлагаемые участниками обсуждений (обновление qemu-kvm и ядра, изменение параметров командной строки, использование vhost-net), к сожалению, пока не сумели её решить.

При каждом подвисании приходится заходить на консоль ВМ по VNC и выполнять сброс сетевого интерфейса, после чего трафик снова начинает ходить нормально.

Автоматизировать данное действие в Windows можно с помощью AutoIt, если создать файл PingFailed_ResetNic.au3 и вызывать его Диспетчером заданий каждые несколько минут:

Подобное «решение» не везде может рассматриваться как удовлетворительное, но в ряде случаев его достаточно, чтобы свести негативный эффект к приемлемому минимуму, позволяющему дождаться выхода исправления вместо более кардинальных мер.

Источник

Анализ производительности ВМ в VMware vSphere. Часть 2: Memory

memory ballooning что это такое. Смотреть фото memory ballooning что это такое. Смотреть картинку memory ballooning что это такое. Картинка про memory ballooning что это такое. Фото memory ballooning что это такое

В этой статье поговорим про счетчики производительности оперативной памяти (RAM) в vSphere.
Вроде бы с памятью все более однозначно, чем с процессором: если на ВМ возникают проблемы с производительностью, их сложно не заметить. Зато если они появляются, справиться с ними гораздо сложнее. Но обо всем по порядку.

Немного теории

Оперативная память виртуальных машин берется из памяти сервера, на которых работают ВМ. Это вполне очевидно:). Если оперативной памяти сервера не хватает для всех желающих, ESXi начинает применять техники оптимизации потребления оперативной памяти (memory reclamation techniques). В противном случае операционные системы ВМ падали бы с ошибками доступа к ОЗУ.

Какие техники применять ESXi решает в зависимости от загруженности оперативной памяти:

Состояние памятиГраницаДействия
High400% от minFreeПосле достижения верхней границы, большие страницы памяти разбиваются на маленькие (TPS работает в стандартном режиме).
Clear100% от minFreeБольшие страницы памяти разбиваются на маленькие, TPS работает принудительно.
Soft64% от minFreeTPS + Balloon
Hard32% от minFreeTPS + Compress + Swap
Low16% от minFreeCompress + Swap + Block

minFree — это оперативная память, необходимая для работы гипервизора.

До ESXi 4.1 включительно minFree по умолчанию было фиксированным — 6% от объема оперативной памяти сервера (процент можно было поменять через опцию Mem.MinFreePct на ESXi). В более поздних версиях из-за роста объемов памяти на серверах minFree стало рассчитываться исходя из объема памяти хоста, а не как фиксированное процентное значение.

Значение minFree (по умолчанию) считается следующим образом:

Процент памяти, резервируемый для minFreeДиапазон памяти
6%0-4 Гбайт
4%4-12 Гбайт
2%12-28 Гбайт
1%Оставшаяся память

Например, для сервера со 128 Гбайт RAM значение MinFree будет таким:
MinFree = 245,76 + 327,68 + 327,68 + 1024 = 1925,12 Мбайт = 1,88 Гбайт
Фактическое значение может отличаться на пару сотен МБайт, это зависит от сервера и оперативной памяти.

Процент памяти, резервируемый для minFreeДиапазон памятиЗначение для 128 Гбайт
6%0-4 Гбайт245,76 Мбайт
4%4-12 Гбайт327,68 Мбайт
2%12-28 Гбайт327,68 Мбайт
1%Оставшаяся память (100 Гбайт)1024 Мбайт

Обычно для продуктивных стендов нормальным можно считать только состояние High. Для стендов для тестирования и разработки приемлемыми могут быть состояния Clear/Soft. Если оперативной памяти на хосте осталось менее 64% MinFree, то у ВМ, работающих на нем, точно наблюдаются проблемы с производительностью.

В каждом состоянии применяются определенные memory reclamation techniques начиная с TPS, практически не влияющего на производительность ВМ, заканчивая Swapping’ом. Расскажу про них подробнее.

Transparent Page Sharing (TPS). TPS — это, грубо говоря, дедупликация страниц оперативной памяти виртуальных машин на сервере.

ESXi ищет одинаковые страницы оперативной памяти виртуальных машин, считая и сравнивая hash-сумму страниц, и удаляет дубликаты страниц, заменяя их ссылками на одну и ту же страницу в физической памяти сервера. В результате потребление физической памяти снижается и можно добиться некоторой переподписки по памяти практически без снижения производительности.

memory ballooning что это такое. Смотреть фото memory ballooning что это такое. Смотреть картинку memory ballooning что это такое. Картинка про memory ballooning что это такое. Фото memory ballooning что это такое
Источник

Данный механизм работает только для страниц памяти размером 4 Кбайт (small pages). Страницы размером 2 МБайт (large pages) гипервизор дедуплицировать даже не пытается: шанс найти одинаковые страницы такого размера не велик.

По умолчанию ESXi выделяет память большим страницам. Разбивание больших страниц на маленькие начинается при достижении порога состояния High и происходит принудительно, когда достигается состояние Clear (см. таблицу состояний гипервизора).

Если же вы хотите, чтобы TPS начинал работу, не дожидаясь заполнения оперативной памяти хоста, в Advanced Options ESXi нужно установить значение “Mem.AllocGuestLargePage” в 0 (по умолчанию 1). Тогда выделение больших страниц памяти для виртуальных машин будет отключено.

С декабря 2014 во всех релизах ESXi TPS между ВМ по умолчанию отключен, так как была найдена уязвимость, теоретически позволяющая получить из одной ВМ доступ к оперативной памяти другой ВМ. Подробности тут. Информация про практическую реализацию эксплуатации уязвимости TPS мне не встречалось.

Политика TPS контролируется через advanced option “Mem.ShareForceSalting” на ESXi:
0 — Inter-VM TPS. TPS работает для страниц разных ВМ;
1 – TPS для ВМ с одинаковым значением “sched.mem.pshare.salt” в VMX;
2 (по умолчанию) – Intra-VM TPS. TPS работает для страниц внутри ВМ.

Однозначно имеет смысл выключать большие страницы и включать Inter-VM TPS на тестовых стендах. Также это можно использовать для стендов с большим количеством однотипных ВМ. Например, на стендах с VDI экономия физической памяти может достигать десятков процентов.

Memory Ballooning. Ballooning уже не такая безобидная и прозрачная для операционной системы ВМ техника, как TPS. Но при грамотном применении с Ballooning’ом можно жить и даже работать.

Вместе с Vmware Tools на ВМ устанавливается специальный драйвер, называемый Balloon Driver (он же vmmemctl). Когда гипервизору начинает не хватать физической памяти и он переходит в состояние Soft, ESXi просит ВМ вернуть неиспользуемую оперативную память через этот Balloon Driver. Драйвер в свою очередь работает на уровне операционной системы и запрашивает свободную память у нее. Гипервизор видит, какие страницы физической памяти занял Balloon Driver, забирает память у виртуальной машины и возвращает хосту. Проблем с работой ОС не возникает, так как на уровне ОС память занята Balloon Driver’ом. По умолчанию Balloon Driver может забрать до 65% памяти ВМ.

Если на ВМ не установлены VMware Tools или отключен Ballooning (не рекомендую, но есть KB:), гипервизор сразу переходит к более жестким техникам отъема памяти. Вывод: следите, чтобы VMware Tools на ВМ были.

memory ballooning что это такое. Смотреть фото memory ballooning что это такое. Смотреть картинку memory ballooning что это такое. Картинка про memory ballooning что это такое. Фото memory ballooning что это такое
Работу Balloon Driver’а можно проверить из ОС через VMware Tools.

Memory Compression. Данная техника применяется, когда ESXi доходит до состояния Hard. Как следует из названия, ESXi пытается сжать 4 Кбайт страницы оперативной памяти до 2 Кбайт и таким образом освободить немного места в физической памяти сервера. Данная техника значительно увеличивает время доступа к содержимому страниц оперативной памяти ВМ, так как страницу надо предварительно разжать. Иногда не все страницы удается сжать и сам процесс занимает некоторое время. Поэтому данная техника на практике не очень эффективна.

Memory Swapping. После недолгой фазы Memory Compression ESXi практически неизбежно (если ВМ не уехали на другие хосты или не выключились) переходит к Swapping’у. А если памяти осталось совсем мало (состояние Low), то гипервизор также перестает выделять ВМ страницы памяти, что может вызвать проблемы в гостевых ОС ВМ.

В отличие от Ballooning’а, когда у ВМ отбираются неиспользуемые страницы, при Swapping’e на диск могут переехать страницы, которые активно используются ОС или приложениями внутри ВМ. В результате производительность ВМ падает вплоть до подвисания. ВМ формально работает и ее как минимум можно правильно отключить из ОС. Если вы будете терпеливы 😉

Если ВМ ушли в Swap — это нештатная ситуация, которую по возможности лучше не допускать.

Основные счетчики производительности памяти виртуальной машины

Вот мы и добрались до главного. Для мониторинга состояния памяти в ВМ есть следующие счетчики:

Active — показывает объем оперативной памяти (Кбайт), к которому ВМ получила доступ в предыдущий период измерения.

Usage — то же, что Active, но в процентах от сконфигурированной оперативной памяти ВМ. Рассчитывается по следующей формуле: active ÷ virtual machine configured memory size.
Высокий Usage и Active, соответственно, не всегда является показателем проблем производительности ВМ. Если ВМ агрессивно использует память (как минимум, получает к ней доступ), это не значит, что памяти не хватает. Скорее это повод посмотреть, что происходит в ОС.
Есть стандартный Alarm по Memory Usage для ВМ:

memory ballooning что это такое. Смотреть фото memory ballooning что это такое. Смотреть картинку memory ballooning что это такое. Картинка про memory ballooning что это такое. Фото memory ballooning что это такое

Shared — объем оперативной памяти ВМ, дедуплицированной с помощью TPS (внутри ВМ или между ВМ).

Granted — объем физической памяти хоста (Кбайт), который был отдан ВМ. Включает Shared.

Consumed (Granted — Shared) — объем физической памяти (Кбайт), которую ВМ потребляет с хоста. Не включает Shared.

Если часть памяти ВМ отдается не из физической памяти хоста, а из swap-файла или память отобрана у ВМ через Balloon Driver, данный объем не учитывается в Granted и Consumed.
Высокие значения Granted и Consumed — это совершенно нормально. Операционная система постепенно забирает память у гипервизора и не отдает обратно. Со временем у активно работающей ВМ значения данных счетчиков приближается к объему сконфигурированной памяти, и там остаются.

Zero — объем оперативной памяти ВМ (Кбайт), который содержит нули. Такая память считается гипервизором свободной и может быть отдана другим виртуальным машинам. После того, как гостевая ОС получила записала что-либо в зануленную память, она переходит в Consumed и обратно уже не возвращается.

Reserved Overhead — объем оперативной памяти ВМ, (Кбайт) зарезервированный гипервизором для работы ВМ. Это небольшой объем, но он обязательно должен быть в наличии на хосте, иначе ВМ не запустится.

Balloon — объем оперативной памяти (Кбайт), изъятой у ВМ с помощью Balloon Driver.

Compressed — объем оперативной памяти (Кбайт), которую удалось сжать.

Swapped — объем оперативной памяти (Кбайт), которая за неимением физической памяти на сервере переехала на диск.
Balloon и остальные счетчики memory reclamation techniques равны нулю.

Вот так выглядит график со счетчиками Memory нормально работающей ВМ со 150 ГБ оперативной памяти.

memory ballooning что это такое. Смотреть фото memory ballooning что это такое. Смотреть картинку memory ballooning что это такое. Картинка про memory ballooning что это такое. Фото memory ballooning что это такое

На графике ниже у ВМ явные проблемы. Под графиком видно, что для данной ВМ были использованы все описанные техники работы с оперативной памятью. Balloon для данной ВМ сильно больше, чем Consumed. По факту ВМ скорее мертва, чем жива.

memory ballooning что это такое. Смотреть фото memory ballooning что это такое. Смотреть картинку memory ballooning что это такое. Картинка про memory ballooning что это такое. Фото memory ballooning что это такое

ESXTOP

Как и с CPU, если хотим оперативно оценить ситуацию на хосте, а также ее динамику с интервалом до 2 секунд, стоит воспользоваться ESXTOP.

Экран ESXTOP по Memory вызывается клавишей «m» и выглядит следующим образом (выбраны поля B,D,H,J,K,L,O):

memory ballooning что это такое. Смотреть фото memory ballooning что это такое. Смотреть картинку memory ballooning что это такое. Картинка про memory ballooning что это такое. Фото memory ballooning что это такое

Интересными для нас будут следующие параметры:

Mem overcommit avg — среднее значение переподписки по памяти на хосте за 1, 5 и 15 минут. Если выше нуля, то это повод посмотреть, что происходит, но не всегда показатель наличия проблем.

В строках PMEM/MB и VMKMEM/MB — информация о физической памяти сервера и памяти доступной VMkernel. Из интересного здесь можно увидеть значение minfree (в МБайт), состояние хоста по памяти (в нашем случае, high).

В строке NUMA/MB можно увидеть распределение оперативной памяти по NUMA-нодам (сокетам). В данном примере распределение неравномерное, что в принципе не очень хорошо.

Далее идет общая статистика по серверу по memory reclamation techniques:

PSHARE/MB — это статистика TPS;

SWAP/MB — статистика использования Swap;

ZIP/MB — статистика компрессии страниц памяти;

MEMCTL/MB — статистика использования Balloon Driver.

По отдельным ВМ нас может заинтересовать следующая информация. Имена ВМ я скрыл, чтобы не смущать аудиторию:). Если метрика ESXTOP аналогична счетчику в vSphere, привожу соответствующий счетчик.

MEMSZ — объем памяти, сконфигурированный на ВМ (МБ).
MEMSZ = GRANT + MCTLSZ + SWCUR + untouched.

GRANT — Granted в МБайт.

TCHD — Active в МБайт.

MCTL? — установлен ли на ВМ Balloon Driver.

MCTLSZ — Balloon в МБайт.

MCTLGT — объем оперативной памяти (МБайт), который ESXi хочет изъять у ВМ через Balloon Driver (Memctl Target).

MCTLMAX — максимальный объем оперативной памяти (МБайт), который ESXi может изъять у ВМ через Balloon Driver.

SWCUR — текущий объем оперативной памяти (МБайт), отданный ВМ из Swap-файла.

SWGT — объем оперативной памяти (МБайт), который ESXi хочет отдавать ВМ из Swap-файла (Swap Target).

Также через ESXTOP можно посмотреть более подробную информацию про NUMA-топологию ВМ. Для этого нужно выбрать поля D,G:

memory ballooning что это такое. Смотреть фото memory ballooning что это такое. Смотреть картинку memory ballooning что это такое. Картинка про memory ballooning что это такое. Фото memory ballooning что это такое

NHN – NUMA узлы, на которых расположена ВМ. Здесь можно сразу заметить wide vm, которые не помещаются на один NUMA узел.

NRMEM – сколько мегабайт памяти ВМ берет с удаленного NUMA узла.

NLMEM – сколько мегабайт памяти ВМ берет с локального NUMA узла.

N%L – процент памяти ВМ на локальном NUMA узле (если меньше 80% — могут возникнуть проблемы с производительностью).

Memory на гипервизоре

Если счетчики CPU по гипервизору обычно не представляют особого интереса, то с памятью ситуация обратная. Высокий Memory Usage на ВМ не всегда говорит о наличие проблемы с производительностью, а вот высокий Memory Usage на гипервизоре, как раз запускает работу техник управления памятью и вызывает проблемы с производительностью ВМ. За алармами Host Memory Usage надо следить и не допускать попадания ВМ в Swap.

memory ballooning что это такое. Смотреть фото memory ballooning что это такое. Смотреть картинку memory ballooning что это такое. Картинка про memory ballooning что это такое. Фото memory ballooning что это такое

memory ballooning что это такое. Смотреть фото memory ballooning что это такое. Смотреть картинку memory ballooning что это такое. Картинка про memory ballooning что это такое. Фото memory ballooning что это такое

Unswap

Если ВМ попала в Swap, ее производительность сильно снижается. Следы Ballooning’а и компрессии быстро исчезают после появления свободной оперативной памяти на хосте, а вот возвращаться из Swap в оперативную память сервера виртуальная машина совсем не торопится.
До версии ESXi 6.0 единственным надежным и быстрым способ вывода ВМ из Swap была перезагрузка (если точнее выключение/включение контейнера). Начиная с ESXi 6.0 появился хотя и не совсем официальный, но рабочий и надежный способ вывести ВМ из Swap. На одной из конференций мне удалось пообщаться с одним из инженеров VMware, отвечающим за CPU Scheduler. Он подтвердил, что способ вполне рабочий и безопасный. В нашем опыте проблем с ним также замечено не было.

Собственно команды для вывода ВМ из Swap описал Duncan Epping. Не буду повторять подробное описание, просто приведу пример ее использования. Как видно на скриншоте, через некоторое время после выполнения указанной команд Swap на ВМ исчезает.

memory ballooning что это такое. Смотреть фото memory ballooning что это такое. Смотреть картинку memory ballooning что это такое. Картинка про memory ballooning что это такое. Фото memory ballooning что это такое

Советы по управлению оперативной памятью на ESXi

Напоследок приведу несколько советов, которые помогут вам избежать проблем с производительностью ВМ из-за оперативной памяти:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *