第 9 章 调优 Red Hat OpenStack Platform 环境


9.1. 固定仿真程序线程

仿真程序线程处理对虚拟机硬件模拟的中断请求和非阻塞进程。在客户机用于处理的 CPU 之间这些线程浮点数。如果用于轮询模式驱动程序(PMD)或实时处理的线程在这些客户机 CPU 上运行,您可以遇到数据包丢失或丢失的期限。

您可以将仿真程序线程与虚拟机处理任务分开,方法是将线程固定到自己的客户机 CPU,从而提高性能。

9.1.1. 将 CPU 配置为主机仿真程序线程

为提高性能,请为托管仿真程序线程保留主机 CPU 的子集。

流程
  1. 使用为给定角色定义的 NovaComputeCpuSharedSet 部署 overcloud。NovaComputeCpuSharedSet 的值适用于该角色内主机的 nova.conf 文件中的 cpu_shared_set 参数。

    parameter_defaults:
        ComputeOvsDpdkParameters:
            NovaComputeCpuSharedSet: "0-1,16-17"
            NovaComputeCpuDedicatedSet: "2-15,18-31"
    Copy to Clipboard Toggle word wrap
  2. 创建类别,以构建独立于共享池的仿真程序线程的实例。

    openstack flavor create --ram <size_mb> --disk <size_gb> --vcpus <vcpus> <flavor>
    Copy to Clipboard Toggle word wrap
  3. 添加 hw:emulator_threads_policy 额外规格,并将值设为 共享。使用此类别创建的实例将使用 nova.conf 文件中的 cpu_share_set 参数中定义的实例 CPU。

    openstack flavor set <flavor> --property hw:emulator_threads_policy=share
    Copy to Clipboard Toggle word wrap
注意

您必须在 nova.conf 文件中设置 cpu_share_set 参数,以便为这个额外规格启用共享策略。您应该最好使用 heat,因为手动编辑 nova.conf 可能无法在重新部署后保留。

9.1.2. 验证仿真程序线程固定

流程
  1. 识别给定实例的主机名和名称。

    openstack server show <instance_id>
    Copy to Clipboard Toggle word wrap
  2. 以 heat-admin 用户身份使用 SSH 登录标识的主机。

    ssh heat-admin@compute-1
    [compute-1]$ sudo virsh dumpxml instance-00001 | grep `'emulatorpin cpuset'`
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat