---
title: CPU绑核调优
description: "在2个NUMA节点场景中，调整虚拟机vCPU绑定的物理机所在Die与vCPU拓扑，确保虚拟机的高性能。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/systuningguide/systemtg/kunpeng_tp_zn_64_006.html
sourcePath: /source/zh/kunpengcpfs/systuningguide/systemtg/kunpeng_tp_zn_64_006.html
indexId: 2829c93f6121f6f17bba320a88c8afbd9122a057ab6d7e829243f0dbe5710bf672
---
# CPU绑核调优

在2个NUMA节点场景中，调整虚拟机vCPU绑定的物理机所在Die与vCPU拓扑，确保虚拟机的高性能。

物理机设置成2个NUMA节点后，每个NUMA节点中包含两个CPU Die。两个CPU Die之间的缓存与内存读写存在性能损失，因此建议在虚拟机vCPU绑定的物理CPU核心不能跨越Die。以鲲鹏920新型号处理器7270Z为例，该型号处理器一个CPU Die包含64个CPU核心。如下图所示，存在两个NUMA节点，其中CPU 0-127为NUMA 0节点。而NUMA 0节点包含两个CPU Die，0-63 CPU为第一个CPU Die的核心，64-127 CPU为第二个CPU Die的核心。


当虚拟机的规格小于64U时，虚拟机最佳性能的绑核配置为所有vCPU绑定在第一个Die或者第二个Die的物理CPU核心上，vCPU不能同时绑定在两个Die的物理CPU核心上。

以下是一个CPU绑核调优的示例。在本示例中，cputune模块中对vCPU与物理CPU核心进行1:1绑定，并且所有物理CPU核心均处于同一个CPU Die。在numatune模块中，只设置单虚拟机NUMA节点，nodeset指向物理机核心所在NUMA节点。在虚拟机的cpu模块中，设置Socket数量为1，Die数量为1，Clusters数量为4，每个Cluster中的vCPU数量为4，超线程数量为2。修改虚拟机xml操作参考4个NUMA节点场景配置Cluster调优。

该示例是基于32C64G规格的虚拟机进行CPU绑核调优，请根据实际需求和虚拟机规格对参数进行相应的调整。


```
<domain type = 'KVM'>
  <vcpu placement='static'>32</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='64'/>
    <vcpupin vcpu='1' cpuset='65'/>
    <vcpupin vcpu='2' cpuset='66'/>
    <vcpupin vcpu='3' cpuset='67'/>
    <vcpupin vcpu='4' cpuset='68'/>
    <vcpupin vcpu='5' cpuset='69'/>
    <vcpupin vcpu='6' cpuset='70'/>
    <vcpupin vcpu='7' cpuset='71'/>
    <vcpupin vcpu='8' cpuset='72'/>
    <vcpupin vcpu='9' cpuset='73'/>
    <vcpupin vcpu='10' cpuset='74'/>
    <vcpupin vcpu='11' cpuset='75'/>
    <vcpupin vcpu='12' cpuset='76'/>
    <vcpupin vcpu='13' cpuset='77'/>
    <vcpupin vcpu='14' cpuset='78'/>
    <vcpupin vcpu='15' cpuset='79'/>
    <vcpupin vcpu='16' cpuset='80'/>
    <vcpupin vcpu='17' cpuset='81'/>
    <vcpupin vcpu='18' cpuset='82'/>
    <vcpupin vcpu='19' cpuset='83'/>
    <vcpupin vcpu='20' cpuset='84'/>
    <vcpupin vcpu='21' cpuset='85'/>
    <vcpupin vcpu='22' cpuset='86'/>
    <vcpupin vcpu='23' cpuset='87'/>
    <vcpupin vcpu='24' cpuset='88'/>
    <vcpupin vcpu='25' cpuset='89'/>
    <vcpupin vcpu='26' cpuset='90'/>
    <vcpupin vcpu='27' cpuset='91'/>
    <vcpupin vcpu='28' cpuset='92'/>
    <vcpupin vcpu='29' cpuset='93'/>
    <vcpupin vcpu='30' cpuset='94'/>
    <vcpupin vcpu='31' cpuset='95'/>
    <emulatorpin cpuset='64-95'/>
  </cputune>
  <numatune>
    <memnode cellid='0' mode='strict' nodeset='0'/>
  </numatune>
  <cpu mode='host-passthrough' check='none'>
    <topology sockets='1' dies='1' clusters='4' cores='4' threads='2'/>
  </cpu>
<domain>
```
