11.3. 解决方案
管理员可以输入实例没有使用的巨页内存量到 nova。
[root@overcloud-compute-1 virt]# grep reserved_huge /etc/nova/nova.conf -B1 [DEFAULT] reserved_huge_pages=node:0,size:2048,count:512 reserved_huge_pages=node:1,size:2048,count:512
size 参数是巨页大小(以 KiB 为单位)。count 参数是每个 NUMA 节点使用的 OVS 巨页数量。例如,对于 Open vSwitch 使用的 4096 个套接字内存,请使用以下值:
[DEFAULT] reserved_huge_pages=node:0,size:1GB,count:4 reserved_huge_pages=node:1,size:1GB,count:4
如需了解如何 使用 OpenStack director 实现这一点的详细信息,请参阅如何在 Red Hat OpenStack Platform 10 中设置 reserved_huge_pages。
Red Hat OpenStack Platform 10: OpenStack nova.conf - 配置选项没有包括在 Red Hat OpenStackPlatform 10 中。
Red Hat OpenStack Platform 11 中包括了以下信息: OpenStack nova.conf - 配置选项
reserved_huge_pages = None (Unknown) Number of huge/large memory pages to reserved per NUMA host cell. Possible values: A list of valid key=value which reflect NUMA node ID, page size (Default unit is KiB) and number of pages to be reserved. reserved_huge_pages = node:0,size:2048,count:64 reserved_huge_pages = node:1,size:1GB,count:1 In this example we are reserving on NUMA node 0 64 pages of 2MiB and on NUMA node 1 1 page of 1GiB.
在 /etc/nova/nova.conf
中启用了 debug 后,您应该在重启 openstack-nova-compute
后在日志中看到以下信息:
[root@overcloud-compute-1 virt]# systemctl restart openstack-nova-compute (...) [root@overcloud-compute-1 virt]# grep reserved_huge_pages /var/log/nova/nova-compute.log | tail -n1 2017-12-19 17:56:40.727 26691 DEBUG oslo_service.service [req-e681e97d-7d99-4ba8-bee7-5f7a3f655b21 - - - - -] reserved_huge_pages = [{'node': '0', 'count': '512', 'size': '2048'}, {'node': '1', 'count': '512', 'size': '2048'}] log_opt_values /usr/lib/python2.7/site-packages/oslo_config/cfg.py:2622 [root@overcloud-compute-1 virt]#