Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

23.5. CPU 调整

图 23.7. CPU 调优


<domain>
  ...
  <cputune>
    <vcpupin vcpu="0" cpuset="1-4,^2"/>
    <vcpupin vcpu="1" cpuset="0,1"/>
    <vcpupin vcpu="2" cpuset="2,3"/>
    <vcpupin vcpu="3" cpuset="0,4"/>
    <emulatorpin cpuset="1-3"/>
    <shares>2048</shares>
    <period>1000000</period>
    <quota>-1</quota>
    <emulator_period>1000000</emulator_period>
    <emulator_quota>-1</emulator_quota>
  </cputune>
  ...
</domain>
虽然所有都是可选的,但域 XML 的这个部分的组件如下:

表 23.4. CPU 调整元素

元素 描述
<cputune> 提供有关域的 CPU 可调参数的详细信息。这是可选的。
<vcpupin> 指定域 vCPU 将固定到的主机物理 CPU。如果省略它,且未指定 <vcpu> 元素的 cpuset 属性,则 vCPU 会默认固定到所有物理 CPU。它包含两个必要的属性: <vcpu> 属性指定 id,而 cpuset 属性与 <vcpu> 元素中的 cpuset 属性相同。
<emulatorpin> 指定哪些主机物理机器 CPU 将固定为"emulator"(一个不是包含 <vcpu>的域的子集)。如果省略,且 <vcpu> 元素中的 cpuset 属性没有指定,则"emulator"默认固定到所有物理 CPU。它包含一个 required cpuset 属性,指定要将哪些物理 CPU 固定到。如果 <vcpu> 元素中的 placement 属性被设置为 auto,则不允许模拟固定。
<共享> 指定域的比例加权共享。如果省略此项,则默认为操作系统提供的默认值。如果没有值的单位,则会根据其它客户机虚拟机的设置来计算它。例如,配置了 <共享> 值 2048 的客户机虚拟机将获得两倍的 CPU 时间,作为配置了 <共享> 值 1024 的客户机虚拟机。
<周期> 以微秒为单位指定强制间隔。通过使用 <句点>,每个域的 vCPU 将不允许消耗超过其运行时所分配的配额。这个值应该在以下范围内:1000-1000000.值为 0<period> 表示没有值。
<quota> 指定微秒允许的最大带宽。具有 <配额> 的域表示域具有无限带宽,这意味着它不控制带宽。该值应在以下范围内:1000 - 18446744073709551 或小于 0。值为 0 的配额 表示没有值。您可以使用此功能来确保所有 vCPU 以相同的速度运行。
<emulator_period> 以微秒为单位指定强制间隔。在 <emulator_period> 中,域的仿真线程(不包括 vCPU)不允许消耗超过运行时的 <emulator_ worthquota><emulator_period> 值应该在以下范围内:1000 - 1000000.值为 0<emulator_period> 表示没有值。
<emulator_quota> 指定域的仿真程序线程(不包括 vCPU)的最大允许带宽的最大带宽(以微秒为单位)。带有 <emulator_quota> 作为负值的域表示域具有仿真程序线程的无限带宽(除 vCPU 外),这意味着它不控制带宽。该值应位于以下范围内:1000 - 18446744073709551 或小于 0。值为 0<emulator_quota> 表示没有值。