Как быстро начать использовать KVM c HugePages.
В первой и второй части я писал что такое HugePages и какая есть польза от использования больших страниц. Теперь опишу сам процесс настройки HugePages и запуск виртуальной машины с их использованием.Проверяем наличие опций в ядре:
# zgrep HUGETLB /proc/config.gz
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
При наличии опции выполняем установку пакета (его нет в официальном репозитории, но можно взять тут)
# cave resolve libhugetlbfs -x
Определяем группу члены которой могут использовать HugePages.
# hugeadm --set-shm-group 197
Следующий шаг является необходимым в случае если в системе нет раздела подкачки.
# hugeadm --add-ramdisk-swap
Определяем минимальное (64МB) и максимальное (2GB) количество страниц в пуле. Расчет нужно проводить с учетом того сколько памяти мы хотим выделить виртуальным машинам. Максимальную границу пула лучше взять чуть чуть больше чем объем памяти занимаемый всеми машинами.
# hugeadm --pool-pages-min 2M:64M
# hugeadm --pool-pages-max 2M:2048M
Проверяем все ли создалось как положено.
# hugeadm --pool-list
Size Minimum Current Maximum Default
2097152 32 32 1024 *
# grep HugePages /proc/meminfo
AnonHugePages: 0 kB
HugePages_Total: 32
HugePages_Free: 32
HugePages_Rsvd: 0
HugePages_Surp: 0
Начальное значение HugePages_Total соответствует минимальной границе пула (32 * 2 = 64).
Теперь подгоняем размер сегмента разделяемой памяти.
# hugeadm --set-recommended-shmmax
Монтируем файловую систему для HugePages
# mkdir /hugepages
# mount -t hugetlbfs hugetlbfs /hugepages
Настал момент запустить виртуальную машину. Запускаем её с набором необходимых параметров и добавляем обязательный для HugePages параметр "-mem-path" и в качестве аргумента указываем каталог где смонтировано HugeTLBFS.
# qemu-system-x86_64 ... -daemonize -mem-path /hugepages
Проверяем использование больших страниц
# grep HugePages /proc/meminfo
AnonHugePages: 40960 kB
HugePages_Total: 520
HugePages_Free: 475
HugePages_Rsvd: 475
HugePages_Surp: 488
Как видно из вывода, после запуска виртуальной машины стало задействовано 45 страниц. В дальнейшем эта цифра будет меняться по мере выделения страниц для нужд виртуальной машины.
Вот и все.
На главную "Virtualizing Linux"
Комментариев нет:
Отправить комментарий