搜索

4.2. 配置仿真程序线程

download PDF

Compute 节点具有与每个实例的虚拟机监控程序关联的开销任务,称为仿真程序线程。默认情况下,仿真程序线程在与实例相同的 CPU 上运行,这会影响实例的性能。

您可以将仿真程序线程策略配置为在单独的 CPU 上运行仿真程序线程,以用于实例使用的不同 CPU。

注意
  • 为避免数据包丢失,不得先抢占 NFV 部署中的 vCPU。

先决条件

  • 必须启用 CPU 固定。

流程

  1. stack 用户的身份登录 undercloud。
  2. 打开 Compute 环境文件。
  3. 要为需要 CPU 固定的实例保留物理 CPU 内核,请在 Compute 环境文件中配置 NovaComputeCpuDedicatedSet 参数。例如,以下配置在具有 32 核 CPU 的 Compute 节点上设置专用 CPU:

    parameter_defaults:
      ...
      NovaComputeCpuDedicatedSet: 2-15,18-31
      ...

    如需更多信息,请参阅在 Compute 节点上配置 CPU 固定

  4. 要为仿真程序线程保留物理 CPU 内核,请在 Compute 环境文件中配置 NovaComputeCpuSharedSet 参数。例如,以下配置在具有 32 核 CPU 的 Compute 节点上设置共享 CPU:

    parameter_defaults:
      ...
      NovaComputeCpuSharedSet: 0,1,16,17
      ...
    注意

    计算调度程序还将共享集中的 CPU 用于在共享或浮动 CPU 上运行的实例。如需更多信息,请参阅在 Compute 节点上配置 CPU 固定

  5. 将 Compute 调度程序过滤 NUMATopologyFilter 添加到 NovaSchedulerEnabledFilters 参数(如果尚不存在)。
  6. 使用其他环境文件将计算环境文件添加到堆栈中,并部署 overcloud:

    (undercloud)$ openstack overcloud deploy --templates \
     -e [your environment files] \
     -e /home/stack/templates/<compute_environment_file>.yaml
  7. 配置一个类别,它在专用 CPU 上运行仿真程序线程,该 CPU 从使用 NovaComputeCpuSharedSet 配置的共享 CPU 中选择:

    (overcloud)$ openstack flavor set --property hw:cpu_policy=dedicated \
     --property hw:emulator_threads_policy=share \
     dedicated_emulator_threads

    有关 hw:emulator_threads_policy 的配置选项的更多信息,请参阅 类别元数据中的 Emulator 线程策略

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.