Управління пам'яттю VMware, здається, є хитрою рівновагою. З кластерною оперативною пам’яттю, пулами ресурсів, методами управління VMware (TPS, балончиками, заміною хостами), використанням оперативної пам’яті в гостях, заміною, резерваціями, поділами та обмеженнями існує велика кількість змінних.
Я перебуваю в ситуації, коли клієнти використовують виділені ресурси кластерного vSphere. Однак вони налаштовують віртуальні машини так, ніби вони були на фізичному обладнанні. У свою чергу, це означає, що стандартна збірка VM може мати 4 vCPU і 16 Гб або більше оперативної пам’яті. Я приїжджаю зі школи, починаючи з малого (1 vCPU, мінімальна оперативна пам’ять), перевіряючи використання в реальному світі та коригуючи за необхідності. На жаль, багато вимог щодо постачальників та люди, незнайомі з віртуалізацією, вимагають більше ресурсів, ніж необхідно ... Мені цікаво оцінити вплив цього рішення.
Деякі приклади кластера "проблем".
Підсумок пулу ресурсів - Здається, майже 4: 1 перевиконано. Зверніть увагу на велику кількість балонованої оперативної пам’яті.
Розподіл ресурсів - стовпець "Найгірший випадок" показує, що ці ВМ матимуть доступ до менш ніж 50% їх налаштованої оперативної пам'яті за обмежених умов.
Графік використання пам’яті в реальному часі верхнього VM у списку вище. Виділено 4 vCPU та 64 ГБ оперативної пам’яті. Він в середньому становить менше 9 ГБ.
Підсумок того ж ВМ
Які недоліки перевиконання та переконфігурування ресурсів (зокрема оперативної пам’яті) у середовищах vSphere?
Якщо припустити, що віртуальні машини можуть працювати в меншій мірі оперативної пам’яті, чи справедливо сказати, що накладні витрати на налаштування віртуальних машин з більшою кількістю оперативної пам’яті, ніж їм насправді потрібно?
У чому зустрічний аргумент: "якщо VM має 16 ГБ оперативної пам’яті, але використовує лише 4 ГБ, в чому проблема ?? "? Наприклад, чи потрібно клієнтам бути освіченими, що VM - це не те саме, що фізичне обладнання?
Які конкретні показники слід використовувати для вимірювання використання оперативної пам’яті. Відстеження піків "Активного" порівняно з часом? Дивишся "Споживає"?
Оновлення: я використовував vCenter Operations Manager для профілювання цього середовища та отримання детальної інформації про статистику кластера, перелічену вище. Хоча напевно надмірно передано, віртуальні віртуальні машини насправді настільки переконфігуровані з непотрібною оперативною пам’яттю, що реальний (крихітний) слід пам’яті не показує суперечок пам’яті на рівні кластера / хоста…
Моє вирішення полягає в тому, що віртуальні віртуальні машини повинні бути справжнього розміру з трохи буфера для кешування на рівні ОС. Перевиконання невідомості або "вимог" продавця призводить до ситуації, представленої тут. Повітряна куля пам'яті, здається, погана у кожному випадку, оскільки є вплив на продуктивність, тому правильне розмір може допомогти запобігти цьому.
Оновлення 2: Деякі з цих віртуальних машин починають виходити з ладу:
kernel:BUG: soft lockup - CPU#1 stuck for 71s!
VMware описує це як симптом важкого перевиконання пам'яті . Тому я думаю, що це відповідає на питання.
vCops звіт "Негабаритні віртуальні машини" ...
vCops "Відшкодування відходів" ...