Windows Server 2008 R2: Dynamic Memory Андрей Бешков Эксперт по ИТ-инфраструктуре, Майкрософт Россия http://blogs.technet.com/abeshkov http://twitter.com/abeshkov abeshkov@microsof

Содержание

Слайд 2

Пользователи, память и виртуализация

Пользователи, память и виртуализация

Слайд 3

Мало кто может правильно выделить ресурсы для VM

Сколько действительно памяти требуется для

Мало кто может правильно выделить ресурсы для VM Сколько действительно памяти требуется
IIS под конкретный сайт/проект?
Принт-серверу?
Файловому серверу?
BranchCache?
DirectAccess?
Как изменится производительность VM, если уменьшить память? Увеличить в двое? Втрое? Что изменится для других VM на том же хосте?

Слайд 4

Есть желание проводить расчеты?

“Любая новая VM получает 1GB
[не зависимо от роли

Есть желание проводить расчеты? “Любая новая VM получает 1GB [не зависимо от
ее OS]. Память добавляется после анализа производительности”
“Всем VM по 4GB
[не волнует, что дальше будет с этой «лишней» памятью, проводить анализ накладно] и все довольны – кроме бизнеса, который за это платит”
“Устанавливаются минимальные или рекомендуемые параметры для ОС и приложений. Производитель всегда прав – есть ли смысл в тонкой настройке и тестировании?”

Слайд 5

Виртуализация и память

Память
Ключевой фактор плотности VM на оборудовании
Часто – самый дорогой компонент

Виртуализация и память Память Ключевой фактор плотности VM на оборудовании Часто –
в системе
Требования бизнеса
Повышение плотности VM при минимальном влиянии на производительность
Поддержка соответствующей производительности
Стабильное в продуктивном использовании решение

Слайд 6

Технологии управления памятью VM

Технологии управления памятью VM

Слайд 7

Memory Overcommit

Overcommit (англ.) – невыполнимые обязательства
Термин – маркетинговый, а не технический
Означает «выделить

Memory Overcommit Overcommit (англ.) – невыполнимые обязательства Термин – маркетинговый, а не
больше памяти, чем существует физически». Технически может означать любую технологию:
Page Sharing
Second Level Paging
Dynamic Memory Balancing (a.k.a. ballooning)

Слайд 8

Dynamic Memory НЕ Overcommit

В реальности – никто не хочет использовать overcommit
Вы не

Dynamic Memory НЕ Overcommit В реальности – никто не хочет использовать overcommit
можете «перебрать» ваши ресурсы – за все требуется «расплата»
VMware не рекомендует использовать ее технологии overcommit в продуктовой среде
Dynamic Memory утилизирует память так же, как ядро ОС – CPU для многозадачности

Слайд 9

Page Sharing

Page Sharing

Слайд 10

Page Sharing

Как это работает:
Вычисляются контрольные суммы всех страниц памяти и заносятся в

Page Sharing Как это работает: Вычисляются контрольные суммы всех страниц памяти и
таблицу
По всей таблице ищутся совпадающие значения
Производится побитовое сравнение страниц с одинаковыми контрольными суммами
Идентичные страницы хранятся в одном экземпляре

Слайд 11

Page Sharing

Page Sharing

Слайд 12

Эффективость Page Sharing

О чем молчит маркетинг VMware?
Процесс расчета и сравнения контрольных сум

Эффективость Page Sharing О чем молчит маркетинг VMware? Процесс расчета и сравнения
долог и затратен (может занять несколько часов)
Page Sharing – не динамическая технология
Лучше всего «сжимаются» свободные (нулевые) страницы памяти

Слайд 13

Эффективность Page Sharing

Если не используются большие страницы памяти (2Мб)
4Кб-страницы – это вчерашний

Эффективность Page Sharing Если не используются большие страницы памяти (2Мб) 4Кб-страницы –
день
Низкая производительность
Если ОС не утилизирует память полностью (SuperFetch)
ASLR – технология размещения исполняемого кода по случайным адресам – снижает эффективность Page Sharing

Слайд 14

Second Level Paging

Second Level Paging

Слайд 15

Second Level Paging

Свопинг страниц памяти на жесткий диск на уровне гипервизора
Гипервизор не

Second Level Paging Свопинг страниц памяти на жесткий диск на уровне гипервизора
знает, что происходит внутри гостевых ОС

Слайд 16

Second Level Paging

Чем это плохо?
Выгрузка в файл подкачки области памяти ядра гостевых

Second Level Paging Чем это плохо? Выгрузка в файл подкачки области памяти
ОС
Двойная подкачка
Падение производительности

Слайд 17

Second Level Paging (1/3)

Проблема 1: Свопинг ресурсов ядра гостевой ОС
“the guest operating

Second Level Paging (1/3) Проблема 1: Свопинг ресурсов ядра гостевой ОС “the
system will never page out its kernel pages since those pages are critical to ensure guest kernel performance. The hypervisor, however, cannot identify those guest kernel pages, so it may swap them out. In addition, the guest operating system reclaims the clean buffer pages by dropping them. Again, since the hypervisor cannot identify the clean guest buffer pages, it will unnecessarily swap them out to the hypervisor swap device in order to reclaim the mapped host physical memory.
-Understanding Memory Resource Management in VMware ESX Server p. 9-10; http://www.vmware.com/resources/techresources/10062

Слайд 18

Second Level Paging (2/3)

Проблема 2: двойной пейджинг
“Assuming the hypervisor swaps out

Second Level Paging (2/3) Проблема 2: двойной пейджинг “Assuming the hypervisor swaps
a guest physical page, it is possible that the guest operating system pages out the same physical page, if the guest is also under memory pressure. This causes the page to be swapped in from the hypervisor swap device and immediately to be paged out to the virtual machine’s virtual swap device. Note that it is impossible to find an algorithm to handle all these pathological cases properly. ESX attempts to mitigate the impact of interacting with guest operating system memory management by randomly selecting the swapped guest physical pages.“
-Understanding Memory Resource Management in VMware ESX Server p. 9-10; http://www.vmware.com/resources/techresources/10062

Слайд 19

Second Level Paging (3/3)

Проблема 3: производительность памяти против диска
Доступ к памяти:
DDR3-1600 =

Second Level Paging (3/3) Проблема 3: производительность памяти против диска Доступ к
5 ns; DDR3-1333 = 6 ns
DDR3-1066 = 7.5 ns; DDR3-800 = 10 ns
Поиск данных на диске (disk seek): ~8 milliseconds
Формула сравнения DDR3-800 и диска: .008/.000000010
DDR3-1600 в 1,600,000 раз быстрее диска
DDR3-1333 в 1,333,333 раз быстрее диска
DDR3-1066 в 1,066,666 раз быстрее диска
DDR3-800 в 800,000 раз быстрее диска
Dual layers of paging
Чрезмерное употребление снижает вашу производительность на порядки…

Слайд 20

Падение производительности

-Understanding Memory Resource Management in VMware ESX Server p. 16; http://www.vmware.com/resources/techresources/10062

Падение производительности -Understanding Memory Resource Management in VMware ESX Server p. 16; http://www.vmware.com/resources/techresources/10062

Слайд 21

Hyper-V R2 SP 1 Dynamic Memory

Hyper-V R2 SP 1 Dynamic Memory

Слайд 22

Цели Dynamic Memory

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

Цели Dynamic Memory Высокий уровень плотности VM с минимальным влиянием на производительность
в целом (как хоста, так и гостевых ОС)
Одинаково хорошо работать с различными типами нагрузок VM – например, серверами или десктопами, с микшированной нагрузкой
Добавлять минимальную нагрузку на систему, особенно - память
Проходить тест – «вроде, это выглядит правильно»

Слайд 23

Запустили виртуалки

8 GB

6 GB

4 GB

2 GB

Финансы

Разработчики

Продажи

T = 0

T = 15

T = 30

T

Запустили виртуалки 8 GB 6 GB 4 GB 2 GB Финансы Разработчики
= 0

T = 15

T = 30

Настройки
памяти
виртуалок

3 ВМ запущено

Слайд 24

Прошло 15 минут…

8 GB

6 GB

4 GB

2 GB

Финансы

Разработчики

Продажи

T = 0

T = 15

T =

Прошло 15 минут… 8 GB 6 GB 4 GB 2 GB Финансы
30

T = 0

T = 15

T = 30

3 ВМ запущено

Настройки
памяти
виртуалок

Финансисты запустили отчет, разработчики компилируют проект

Слайд 25

Прошло 15 минут…

8 GB

6 GB

4 GB

2 GB

Финансы

Разработчики

Продажи

T = 0

T = 15

T =

Прошло 15 минут… 8 GB 6 GB 4 GB 2 GB Финансы
30

T = 0

T = 15

T = 30

Настройки
памяти
ВМ

Финансисты запустили отчет, разработчики компилируют проект

3 ВМ запущено

Финансисты закончили отчет, разработчики собрали и тестируют, IT запустили свою ВМ

IT

Слайд 26

Добавление/удаление памяти

Добавление памяти
Задействована гостевая ос
Synthetic Memory Driver (VSP/VSC Pair)
Никакой эмуляции со стороны

Добавление/удаление памяти Добавление памяти Задействована гостевая ос Synthetic Memory Driver (VSP/VSC Pair)
Hyper-V
Легкий и быстрый процесс
Удаление памяти
Запрос на удаление памяти
Использование Ballooning
«Портит» показания task manager в гостевой ОС

Слайд 27

Уменьшение памяти

Для уменьшения памяти используется balloon dirver
«Отчуждению» подлежат только неиспользуемые области памяти
При

Уменьшение памяти Для уменьшения памяти используется balloon dirver «Отчуждению» подлежат только неиспользуемые
«отчуждении» область памяти захватывается драйвером balloon и помечается как Driver Locked
При добавлении памяти драйвер может возвращать захваченные адресные пространства
Таким образом, гостевая ОС «не замечает», что память «отнималась». Для гостевой ОС память как была, так и остается, лишь на время захваченная драйвером.

Слайд 28

Dynamic Memory

Dynamic Memory

Слайд 29

Требования

Требования к хосту:
Windows Server 2008 R2 SP1
Microsoft Hyper-V Server 2008 R2 SP1
Требования

Требования Требования к хосту: Windows Server 2008 R2 SP1 Microsoft Hyper-V Server
к гостевой ОС:
Windows Server 2003, 2008 & 2008 R2
Web, Standard, Enterprise и Datacenter Editions
32-бита и 64-бита
Windows Vista and Windows 7
Enterprise и Ultimate Editions
32-бита и 64-бита

Слайд 30

Архитектура Dynamic Memory

Архитектура Dynamic Memory

Слайд 31

Startup & Max

Startup: достаточно памяти для старта VM
BIOS ничего не знает DM
Гостевая

Startup & Max Startup: достаточно памяти для старта VM BIOS ничего не
OS может ничего не знать о DM
Default: 512MB
Max: не назначайте VM больше этого максимального значения
Default: 64GB

Слайд 32

Pressure & Priority

Pressure – это концепт
Как много памяти у VM сейчас?
Сколько памяти

Pressure & Priority Pressure – это концепт Как много памяти у VM
VM требует?
Отношение и есть «pressure»
Работает с “committed memory”
Priority: какая VM получает память первой
1-10,000: default is 5,000
Более высокое значение более приоритетно

Слайд 33

Memory Buffer

Как много “свободной” памяти мы должны оставить для VM?
Позволяет реагировать на

Memory Buffer Как много “свободной” памяти мы должны оставить для VM? Позволяет
«пульсирующие» нагрузки в гостевой ОС
Может быть занята по кеш
“Я хотел бы сконфигурировать мои VM для того, чтобы у них было около ~20% свободной памяти”

Слайд 34

Архитектура Dynamic Memory

Guest Applications

VMBus

Hypervisor

VMMS

OS

Microsoft Hyper-V

User Mode

Kernel
Mode

Provided by:

VMBus

VMWP

VID

Memory Balancer

Memory Balancer Interface

GMO
Memory Manager

DM VDEV/VSP

DM

Архитектура Dynamic Memory Guest Applications VMBus Hypervisor VMMS OS Microsoft Hyper-V User
VSC

Dynamic Memory Components

Слайд 35

Dynamic Memory

demo

Dynamic Memory demo

Слайд 36

Dynamic Memory APIs

Доступен публично
http://msdn.microsoft.com/en-us/library/cc136856(VS.85).aspx
Используются WMI-интерфейсы DMTF

Dynamic Memory APIs Доступен публично http://msdn.microsoft.com/en-us/library/cc136856(VS.85).aspx Используются WMI-интерфейсы DMTF

Слайд 37

Переход на R2 Service Pack 1

Что нужно сделать для успешного использования Dynamic

Переход на R2 Service Pack 1 Что нужно сделать для успешного использования Dynamic Memory?
Memory?

Слайд 38

3 шага…

Убедиться, что VM готовы к обновлениям
Обновить Хост
Обновить Guest Integration Services

3 шага… Убедиться, что VM готовы к обновлениям Обновить Хост Обновить Guest Integration Services

Слайд 39

Заключение

Memory Overcommit – маркетинговое пугало
DM превращает память в такой же динамический ресурс,

Заключение Memory Overcommit – маркетинговое пугало DM превращает память в такой же
как и процессоры
DM позволяет добиться большей консолидации без ущерба для производительности

Слайд 40

Вопросы?

Вопросы?

Слайд 41

www.techdays.in.ua

http://www.techdays.in.ua
Новый информационный видеоресурс и портал
Содержит видеоматериалы с семинаров, курсов, вебкастов и

www.techdays.in.ua http://www.techdays.in.ua Новый информационный видеоресурс и портал Содержит видеоматериалы с семинаров, курсов,
т.п.
По различным инфраструктурным решениям
Используйте для обучения, справочной информации, знакомства с новыми технологиями
Пополняется ориентировочно несколько раз в неделю

Слайд 42

It-club.in.ua

Портал ИТ-клубов Украины
www.it-club.in.ua
Создан и поддерживается энтузиастами
Киевского ИТ-клуба
В разделе «ВЕБКАСТЫ» находится информация о

It-club.in.ua Портал ИТ-клубов Украины www.it-club.in.ua Создан и поддерживается энтузиастами Киевского ИТ-клуба В
проведении вебкастов, голосование, обсуждение.

Основные цели портала
Объединение ИТ-клубов Украины
Информирование ИТ-специалистов о работе клубов и событиях
Публикация информации об украинских блогерах
Публикация статей и вебкастов
Предоставление хостинга бля сайтов ИТ-клубов и персональных технических блогов
Контакт: Сергей Бельский, sergey.belskiy@hotmail.com

Имя файла: Windows-Server-2008-R2:-Dynamic-Memory-Андрей-Бешков-Эксперт-по-ИТ-инфраструктуре,-Майкрософт-Россия-http://blogs.technet.com/abeshkov-http://twitter.com/abeshkov-abeshkov@microsof.pptx
Количество просмотров: 461
Количество скачиваний: 1