diff options
author | Amet13 <admin@amet13.name> | 2016-04-02 13:39:05 +0300 |
---|---|---|
committer | Amet13 <admin@amet13.name> | 2016-04-02 13:39:05 +0300 |
commit | 0aff790b153aa137efd2c5d6c5681395f34cf3f0 (patch) | |
tree | 03c38561a785eb628d11c1dcebd8fa36309e26be /README.md | |
parent | 809ebde904c153598812fa92a9163e6649d0a0cf (diff) |
Оптимизация ВМ с KSM
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 27 |
1 files changed, 26 insertions, 1 deletions
@@ -43,6 +43,7 @@ - [Шаблоны конфигураций](#templates-vm) - [Добавление и удаление устройств в ВМ](#devices-vm) - [Горячее подключение CPU и RAM](#hotplug-vm) + - [Оптимизация виртуальных машин с помощью KSM](#ksm) 10. [Миграция контейнеров и виртуальных машин](#migration) 11. [Рекомендации системному администратору](#recommendations) 12. [Планы Virtuozzo](#roadmap) @@ -1719,6 +1720,31 @@ set cpu mask 0-2 cpu cpus=3 VT-x hotplug accl=high mode=32 cpuunits=2000 cpulimit=1024Mhz ioprio=6 iolimit='0' mask=0-2 ``` +Для отключения hotplug используется параметр `--mem-hotplug off` и `--cpu-hotplug off` соответственно. + +### <a name='ksm'></a>Оптимизация виртуальных машин с помощью KSM +KSM (Kernel Same-Page Merging) — технология ядра Linux, которая позволяет ядру объединять одинаковые страницы памяти между различными процессами или виртуальными гостевыми системами в одну для совместного использования. + +Технология предусматривает сканирование памяти в целях поиска дубликатов страниц, каждая пара дубликатов объединяется в одну страницу, помечаемую как подлежащую копированию при записи, таким образом ядро будет автоматически разделять страницы памяти, как только один процесс изменит данные. + +Поиск дубликатов накладывает дополнительную нагрузку на процессорные ресурсы, поэтому в технологии была предусмотрена оценка — насколько часто будут те или иные страницы памяти изменяться, чтобы в тех случаях, когда ресурсные издержки сравнительно высоки не прибегать к слиянию страниц. +KSM обеспечивает системам виртуализации возможность перезакладки ресурсов оперативной памяти (memory overcommitment). +В условиях достаточно однородных экземпляров гостевых операционных систем возможен значительный эффект, в частности, экспериментальная реализация KSM от Red Hat показала, что 52 виртуальных экземпляра Windows XP с выделенными 1 ГБ памяти, могут работать на компьютере с 16 ГБ оперативной памяти. + +Для включения KSM в Virtuozzo необходимо запустить сервисы `ksm` и `ksmtuned`: +``` +[root@virtuozzo ~]# systemctl start ksm +[root@virtuozzo ~]# systemctl start ksmtuned +[root@virtuozzo ~]# systemctl enable ksm +[root@virtuozzo ~]# systemctl enable ksmtuned +``` + +Работоспособность KSM можно проверить на примере общих страниц в памяти (shared memory pages): +``` +[root@virtuozzo ~]# cat /sys/kernel/mm/ksm/pages_sharing +120990 +``` + ## [[⬆]](#toc) <a name='migration'></a>Миграция контейнеров и виртуальных машин В Virtuozzo поддерживается "живая" миграция контейнеров и виртуальных машин с использованием CRIU и P.Haul. @@ -1784,7 +1810,6 @@ UUID STATUS IP_ADDR T NAME ## [[⬆]](#toc) <a name='todo'></a>TODO * Создание шаблона приложения для автоматического создания контейнера (https://bugs.openvz.org/browse/OVZ-6682) * Создание шаблона гостевой ОС на основе vztt/vzmktmpl -* CPU/Memory hotplug, оптимизация памяти с KSM * Проброс устройств (nfs/pptp/usb/vlan) (http://habrahabr.ru/post/210460/) * Управление сетью в Virtuozzo (veth/vlan/шейпинг) * Снапшоты и клонирование шаблонов |