首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NUMA架构的CPU -- 你真的用好了么?

下面这点是显而易见的: 既然CPU只有在Local-Access时响应时间才能有保障,那么我们就尽量把该CPU所要的数据集中在他local的内存中就OK啦~ 没错,事实上Linux识别到NUMA架构后,...CPU访问自己Chip上所插的内存时速度快,而访问其他CPU所关联的内存(下文称Remote Access)的速度相较慢三倍左右 于是Linux内核默认使用CPU亲和的内存分配策略,使内存页尽可能的和调用线程处在同一个...那是不是简简单单的配置个Interleave就已经把NUMA的特性和性能发挥到了极致呢? 答案是否定的,目前Linux的内存分配机制在NUMA架构的CPU上还有一定的改进空间。...在 关于CPU Cache程序应该知道的那些事的评论中我也提到过,这个道理和为什么Linux没有全局监控CPU L1/L2 Cache命中率工具的原因是一样的。当然优化不会就此停步。...究竟是哪里出了问题 NUMA的问题? NUMA本身没有错,是CPU发展的一种必然趋势。但是NUMA的出现使得操作系统不得不关注内存访问速度不平均的问题。 Linux Kernel内存分配策略的问题?

2.9K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    linux上numa架构介绍

    准备环境 以下案例基于 Ubuntu 16.04,同样适用于其他的 Linux 系统。我使用的案例环境如下所示: 机器配置:32 CPU,64GB 内存 在NUMA中储存层次的概念: ?...numactl的使用 Linux提供了一个一个手工调优的命令numactl(默认不安装),在Ubuntu上的安装命令如下: sudo apt install numactl -y 首先你可以通过man...numactl --interleave=all mongod -f /etc/mongod.conf 因为NUMA默认的内存分配策略是优先在进程所在CPU的本地内存中分配,会导致CPU节点之间内存分配不均衡...cache:二级缓存 L3 cache:三级缓存 NUMA node0 CPU(s) :CPU上的逻辑核,也就是超线程 执行lscpu,结果部分如下: root@ubuntu:~# lscpu Architecture...node0 CPU(s): 0-7 NUMA node1 CPU(s): 8-15 NUMA node2 CPU(s): 16-23 NUMA node3 CPU(s):

    2.8K20

    【Linux 内核】NUMA 非一致内存访问结构 ( NUMA 概念介绍 | NUMA 架构优势分析 | SMP、NUMA、MPP 架构 )

    文章目录 一、NUMA 非一致内存访问结构 二、NUMA 架构优势分析 二、SMP、NUMA、MPP 架构 一、NUMA 非一致内存访问结构 ---- 非一致内存访问结构 , 英文名称 Non Uniform...Memory Access , 简称 NUMA ; " 非一致内存访问结 " 的 系统 , 有 多个 CPU 处理器 , 每个 处理器 都有 自己的 独立的本地内存 , 每个 CPU 处理器只支持 自己的本地内存快速访问..., 各个 CPU 处理器之间通过 " 总线 " 连接 ; 处理器通过 " 总线 " 可以 访问 其它处理器 的 " 内存 " , 但是 处理器 访问 自己的内存 要比 访问 其它处理器的内存 速度要快...; NUMA 非一致内存访问结构 , 可以 支持 CPU 扩展 , 可以扩展上百 CPU 处理器 ; 二、NUMA 架构优势分析 ---- NUMA 非一致内存访问结构 ( Non Uniform...访问 其它处理器的内存速度慢 , 这样为了 保证事物的执行性能 , 需要 减少 CPU 处理器之间的数据交互 , NUMA 架构 只 适合 OLTP ( On-Line Transaction Processing

    5.3K20

    Linux查询CPU信息

    1.基本概念 物理CPU数 主板上实际插入的CPU数量,可以数不重复的physical id 有几个(physical id) CPU核数 单块CPU上面能处理数据的芯片组的数量,如双核、四核等...(CPU cores) 逻辑CPU数 一般情况下,逻辑CPU数=物理CPU个数每颗核数,如果不相等的话,则表示服务器的CPU支持超线程技术(简单来说,它可使处理器中的1颗内核如2颗内核那样在操作系统中发挥作用...这样一来,操作系统可使用的执行资源扩大了一倍,大幅提高了系统的整体性能,此时逻辑CPU=物理CPU个数每颗核数*2) 它们之间的关系 总核数 = 物理CPU个数 * 每颗物理CPU的核数 总逻辑...CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数 2.查看物理CPU的个数 $ cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc...-l 2 3.查看逻辑CPU个数 $ cat /proc/cpuinfo |grep "processor"|wc -l 24 4.查看CPU核数 $ cat /proc/cpuinfo |grep

    11.5K10

    ​Linux CPU 性能优化指南

    Linux 为每个 CPU 维护一个就绪队列,将 R 状态进程按照优先级和等待 CPU 时间排序,选择最需要的 CPU 进程执行。这里运行进程就涉及了进程上下文切换的时机: 进程时间片耗尽、。...Linux 通过/proc虚拟文件系统向用户控件提供系统内部状态信息,其中/proc/stat则是 CPU 和任务信息统计。...为进程设置资源限制:使用 Linux cgroups 来设置进程的 CPU 使用上限,可以防止由于某个应用自身的问题,而耗尽系统资源。...NUMA 优化:支持 NUMA 的处理器会被划分为多个 Node,每个 Node 有本地的内存空间,这样 CPU 可以直接访问本地空间内存。...开启 irqbalance 服务或者配置 smp_affinity,就可以把中断处理过程自动负载均衡到多个 CPU 上。 参考 极客时间:Linux 性能优化实战 ?

    8.5K55
    领券