Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Amet13/vz-tutorial.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmet13 <admin@amet13.name>2016-04-02 13:39:05 +0300
committerAmet13 <admin@amet13.name>2016-04-02 13:39:05 +0300
commit0aff790b153aa137efd2c5d6c5681395f34cf3f0 (patch)
tree03c38561a785eb628d11c1dcebd8fa36309e26be /README.md
parent809ebde904c153598812fa92a9163e6649d0a0cf (diff)
Оптимизация ВМ с KSM
Diffstat (limited to 'README.md')
-rw-r--r--README.md27
1 files changed, 26 insertions, 1 deletions
diff --git a/README.md b/README.md
index 9534f73..e4b5ea3 100644
--- a/README.md
+++ b/README.md
@@ -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/шейпинг)
* Снапшоты и клонирование шаблонов