Кайф.


Иногда я смотрю на клавиатуру и думаю, что не ту выбрал.

HugePages + KVM + Ubuntu 12.04

Задумал я сие безобразие, однако огорчился отсутствием TODO на данную тему. Итак, по-порядку:

# cat /proc/meminfo | grep Huge
Нас интересует параметр
Hugepagesize: 2048 kB
это собственно размер страницы, прикидываем сколько нам надо для работы виртуалок. Мне понадобилось 2 гигабайта, это 1000 страниц.
Добавляем\правим параметры /etc/sysctl.conf:

vm.nr_hugepages = 1000
vm.nr_hugepages_mempolicy = 1000
vm.hugetlb_shm_group = 0
vm.hugepages_treat_as_movable = 0
vm.nr_overcommit_hugepages = 0

естественно заменяя на свои значения.

# sysctl -p

и ребутнуться для надежности (только будьте аккуратны при выставлении кол-ва страниц — если указать весь доступный объем памяти на сервере можно и не загрузиться — ядру не хватит памяти, поэтому выставляйте это значение в 1\2, 3\4 объема всей памяти на сервере).
После перезагрузки у нас будет примерно такая картина:

# cat /proc/meminfo | grep Huge

AnonHugePages: 0 kB
HugePages_Total: 1000
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB

Значит все хорошо, продолжаем настройку,

# mkdir /dev/hugepages

добавляем следующую запись в fstab:

hugetlbfs /dev/hugepages hugetlbfs defaults 0 0

применяем изменения:

# mount -a (можно конечно сочинить строчку под маунт, но я привык так)

добавляем в /etc/libvirt/qemu.conf

hugetlbfs_mount = «/dev/hugepages»

добавляем разрешения для использования этой папки в appammor /etc/apparmor.d/abstractions/libvirt-qemu:

owner /dev/hugepages/libvirt/qemu/* rw,

перезагружаем демонов:

# service apparmor restart
# service qemu-kvm restart

После этих нехитрых процедур KVM может использовать HugePages, однако для конкретной машины в xml файле, описывающем конфигурацию машины(обычно валяется /etc/libvirt/qemu ), необходимо добавить следующие строки:

<memoryBacking>
<hugepages/>
</memoryBacking>

и перезагрузить ВМ.

В итоге должно получиться что то вроде этого:
# cat /proc/meminfo | grep Huge
AnonHugePages: 0 kB
HugePages_Total: 1000
HugePages_Free: 504
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB

Лютый пиздец

image

Это уже перегиб господа!

Где-то в лесу . . .

image

image

Зебра-копатель

Челябинские рабочие настолько суровы . . .

. . . что встают под звуки падающих метеоритов!

Челябинский метеорит

Челябинский метеорит

Обновленный аквариум-малютка

image