5.5. 性能优化


您可以修改 OpenShift Virtualization 部署的某些配置,以提高效率、成本效益和可靠性。

5.5.1. 为虚拟机配置完整的物理内核

作为集群管理员,您可以为特定虚拟机(VM)分配完整的物理内核,而不是允许不同的虚拟机共享相同的物理内核。将您的虚拟机配置为使用完整的物理内核可以优化高吞吐量或延迟虚拟机的性能。

在启用了多线程(SMT)的系统中只分配完整的物理内核非常重要,因为它具有以下优点:

  • 防止邻居和资源争用
  • 降低性能下降
  • 提供可预测的延迟
  • 保证专用 CPU 资源

您可以通过修改 KubeletConfig 自定义资源(CR)中的 cpuManagerPolicycpuManagerPolicyOptions 设置来配置完整的物理内核分配。

先决条件

  • 有集群管理员对安装了 OpenShift Virtualization 的 OpenShift Container Platform 集群的访问权限。
  • 已安装 OpenShift CLI(oc)。
  • 您已在虚拟机运行的节点上启用了 CPU Manager。

流程

  1. 编辑 KubeletConfig CR,以添加所需的 cpuManagerPolicycpuManagerPolicyOptions 配置:

    apiVersion: machineconfiguration.openshift.io/v1
    kind: KubeletConfig
    # ...
    cpuManagerPolicy: static
    cpuManagerPolicyOptions:
      full-pcpus-only: true
    kubeReserved:
      cpu: "1"
    # ...
    Copy to Clipboard Toggle word wrap
    • 您必须设置 cpuManagerPolicy: 静态 策略来启用专用 CPU 分配。此设置是配置 cpuManagerPolicyOptions 设置的先决条件。
    • 您必须设置 full-pcpus-only: true 策略选项,以便静态 CPU Manager 策略只分配完整的物理内核。
    • 您必须通过在 kubeReserved 设置中设置 cpu: "1" 来为系统保留 1 个 CPU。这样可确保集群保持稳定,要求系统的核心功能始终能够访问它们正常工作的 CPU。
  2. 运行以下命令,将更改应用到 KubeletConfig CR:

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap

验证

  • 运行以下命令并检查输出,在您应用更改的节点上检查 kubelet 配置:

    $ oc debug node/<node_name> -- chroot /host cat /etc/kubernetes/kubelet.conf | grep -E -A 2 'cpuManagerPolicy|kubeReserved'
    Copy to Clipboard Toggle word wrap

    输出示例:

    cpuManagerPolicy: static
    cpuManagerPolicyOptions:
      full-pcpus-only: true
    --
    kubeReserved:
      cpu: "1"
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat