20.5. CPU Tuning
图 20.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 中的这个部分的组件如下:
元素 | 描述 |
---|---|
<cputune> | 提供有关域的 CPU 可调项参数的详细信息。这是可选的。 |
<vcpupin> | 指定域 VCPU 将要固定到的主机物理 CPU。如果省略此项,并且未指定 <vcpu> 的属性 cpuset ,则 vCPU 会默认固定到所有物理 CPU。它包含两个必要属性,属性 vcpu 指定 id ,而 attribute 与 element <vcpu> 的属性相同。 |
<模拟器兼容性> | 指定主机物理机器 CPU、"emulator"(包括 vcpu 的域的子集)将固定到:如果省略,则不指定 element <vcpu> 的属性 cpuset ,则"emulator"默认固定到所有物理 CPU。它包含一个必需的属性 cpuset ,指定要固定到哪个物理 CPU。如果元素 <vcpu> 的属性 放置 是自动的,则不允许使用 仿真程序 。
|
<共享> | 为域指定按比例加权共享。如果省略此项,则默认为操作系统固有的默认值。如果没有值的单元,它会相对于其他 guest 虚拟机的设置进行计算。例如,如果 guest 虚拟机配置了 2048 值,它将达到两倍的处理时间,客户机虚拟机配置了值为 1024 的客户机虚拟机。 |
<周期> | 以微秒为单位指定强制间隔。通过使用 period ,允许每个域的 vcpu 消耗超过其分配的配额的运行时间。这个值应该在以下范围内: 1000-1000000 。一个 period > 值为 0 表示没有值。 |
<quota> | 指定以微秒为单位允许的最大带宽。配额 为任何负值的域表示域具有无限带宽,这意味着它不控制带宽。该值应该在以下范围内:1000 - 18446744073709551 或小于 0。 值为 0 的配额 意味着无值。您可以使用此功能确保所有 vcpus 都以相同的速度运行。 |
<emulator_period> | 以微秒为单位指定强制间隔。在 <paper_period> 中,域的仿真程序线程(不含 vcpus 除外)将不允许消耗在运行时超过 <emulator_quota> 。<模拟器_period> 值应位于以下范围: 1000 - 1000000 。值为 0 的 <仿真程序_period> 表示无值。 |
<emulator_quota> | 指定域仿真程序线程(不包括 vcpus)的最大允许带宽(以微秒为单位)。<模拟器_quota> 作为负值的域表示域具有仿真程序线程的无限带宽(不包括 vcpus),这意味着它不受带宽控制。该值应位于以下范围: 1000 - 18446744073709551 ,或小于 0。 值为 0 的 <仿真程序_quota> 表示无值。 |