简介
NUMA(Non-Uniform Memory Access,非统一内存访问架构)是相对于 UMA(Uniform Memory Access)而言的。早年的计算机架构都是 UMA,如图。所有的 CPU 处理单元(Processor)均匀地通过共享地总线访问内存,所有 CPU 访问所有内存单元地速度是一样的。在多处理器的情况下,多个任务会被分派到各个处理器上并发执行,它们竞争内存资源的情况会非常频繁,从而引起效率的下降。
所以,随着多处理器架构的普及,处理器数量的增长,NUMA架构兴起,如图。处理器与内存被划分为一个个的节点(node),处理器访问自己节点的内存会比访问其他节点的内存快。
NUMA 在 KVM 中应用
虚拟机内存为2GB, 其中 512MB 分配到节点 node0,1.5GB 分配到节点 node1
[root@localhost ~]# /usr/libexec/qemu-kvm centos70-64.qcow2 \
> -smp 2 -m 2G \
> -object memory-backend-ram,size&