对于CPU和NUMA架构的介绍本文不再做叙述,感兴趣的可自行查看:Linux--CPU简述,Linux--内存管理浅谈。
1、进程绑定NUMA节点或cpu核心的意义
NUMA 架构将内存和cpu分散在不同的 NUMA 节点上,每个节点都有自己的本地内存和cpu处理器,将进程绑定到特定的 NUMA 节点或cpu上,可以让进程直接访问本地内存和CPU,减少访问远程节点开销,提高访问速度,从而提高程序性能。
注:不可多进程绑定同一个节点或cpu,这样反而会使该节点产生资源竞争,降低性能。
2、查看NUMA架构的信息
3、绑定
注:下述绑定方法都属于临时绑定,进程重启后失效;要永久生效,请在应用程序中设置绑定或配置文件里提前配置。
3.1 绑定NUMA节点
查看进程运行内存信息
查看进程绑定cpu核心
查看进程的 PID、所运行的 CPU 核心编号以及命令名称
3.2 绑定cpu核心
查看进程运行在哪个cpu上