一、NUMA概述 非统一内存访问(NUMA)是一种用于多处理器的电脑记忆体设计,内存访问时间取决于处理器的内存位置。有几个知识点需要了解: 节点:一台服务器一般有多个物理CPU(也叫做socket或者节点) 核:每一个物理CPU有多个核 逻辑CPU:每一个核在超线程下可以模拟两个逻辑CPU 本地内存:和自己直接连接的内存 远地内存:连接在其他物理CPU(节点)的内存 注:物理CPU访问远地内存的时候要通过QPI间接访问,所以相对访问本地内存而言存在一定的延时。同理每一个CPU(节点)都有自己的PCIE设备(本地IO资源),和内存相似,远地访问PCIE设备相对访问本地PCIE设备存在延时。 二、NUMA在aCloud上的应用 虚拟机NUMA就是把QEMU模拟出的虚拟节点,绑定在某颗物理CPU上,对应的内存同样绑定在该CPU的本地内存,使其与物理架构相对应,在物理上也尽可能的使CPU访问本地内存。 具体的优化方式如下: 三、详细操作步骤 1、【管理】 ->【高可用与资源调度】->【系统参数】->【开启numa】 2、【编辑虚拟机】->【启用numa调度】 3、添加虚拟机CPU 注: ①Numa启用时候,需要在虚拟机启动前启用才会有效。但是如果取消Numa调度,不需要重启虚拟机,可以直接生效。 ②添加虚拟机CPU核心,尽量添加核心数,不要去添加槽位数。 |