lscpu 显示CPU架构的有关信息
Linux的CPU设备查看器。lscpu
命令用来显示cpu的相关信息。lscpu
从sysfs和/proc/cpuinfo收集cpu体系结构信息,命令的输出比较易读 。
命令输出的信息包含cpu数量,线程,核数,socket和Nom-Uniform Memeor Access(NUMA),缓存等等。
官方定义为:
lscpu
- display information about the CPU architecture
参数基本用处不大,默认即可,部分参数可以查看offline和online的设备信息。
默认实例
1 | lscpu |
其中几个概念需要理解清楚,基本比较重要的都有了备注。
其中第一个为CPU(s),这个值为Socket * Core * Thread得出,也就是逻辑的CPU个数。
1 | CPU(s): 64 #逻辑CPU数 |
而其他几个概念为:
- Socket : 物理上的CPU插槽的数量,也就是物理的实体概念
- Core:即平常说的单核、多核、四核等,即每个CPU上的核数
- Thread:每个core上的线程数,即超线程。
什么是NUMA node
NUMA体系结构中多了Node的概念,Node是一个逻辑上的概念,这个概念其实是用来解决core的分组的问题。每个node有自己的内部CPU,总线和内存,同时还可以访问其他node内的内存。即Node用来将core分组,每个Node拥有一个对应的本地内存。
node 和socket没有必然的联系,一般是一个socket上的core属于同一个node。
对操作系统来说,其逻辑CPU的数量就是Socket * Core * Thread