9.3. libvirt NUMA 调整
通常,在 NUMA 系统上获得最佳性能是通过将客户机大小限制为单一 NUMA 节点上的资源量来实现的。 避免在 NUMA 节点间不必要地分割资源。
使用 numastat 工具查看进程和操作系统的每 NUMA 节点内存统计信息。
在以下示例中,numastat 工具显示了四个虚拟机,并在 NUMA 节点之间达到低效内存对齐:
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
运行 numad 以自动匹配客户机的 CPU 和内存资源。
然后再次运行 numastat -c qemu-kvm 来查看正在运行的 numad 的结果。以下输出显示了资源已对齐:
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
注意
使用
-c 运行 numastat 提供了紧凑输出;添加 -m 选项会在各个节点基础上添加系统范围的内存信息。详情请查看 numastat man page。
9.3.1. 每个主机 NUMA 节点监控内存 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
您可以使用
nodestats.py 脚本报告主机上的每个 NUMA 节点的总内存和可用内存。此脚本还报告每个正在运行的域都严格绑定到某些主机节点的内存量。例如:
这个示例显示了四个主机 NUMA 节点,每个节点总共包含 4GB 的 RAM(
MemTotal)。接近所有的内存都会在每个域中消耗(MemFree)。正在运行的四个域(虚拟机):域 'rhel7-0' 具有 1.5GB 内存,它不固定到任何特定主机 NUMA 节点上。但是,域 'rhel7-2' 具有 4GB 内存和 4 个 NUMA 节点,这些节点固定为 1:1 到主机节点。
要打印主机 NUMA 节点统计信息,请为您的环境创建一个
nodestats.py 脚本。示例脚本可在 /usr/share/doc/libvirt-python-版本/examples/nodestats.py 中找到 libvirt-python 软件包文件。可以使用 rpm -ql libvirt-python 命令显示到脚本的特定路径。