获得cpu详细信息: less /proc/cpuinfo
显示cpu架构信息:lscpu
lscpu
lscpu命令从sysfs、/proc/cpuinfo、或者某些适用于特定架构的库中收集数据。命令的输出会以人类易读的方式展示如下信息:cpu、线程、核心、插槽和Non-Uniform MemoryAccess(NUMA)节点的数量,也有cpu共享缓存,cpu的族号,运行模式,处理指令的速度,大小端,步进等信息。在虚拟环境下,系统架构信息展示映射着客户操作系统的设置,这和物理主机是有明显差异的。在架构上支持检索物理拓扑信息,lscpu命令也显示主机系统中的物理插槽数量,芯片,内核数。
① 物理CPU
实际Server中插槽上的CPU个数
物理cpu数量,可以数不重复的 physical id 有几个
② 逻辑CPU
/proc/cpuinfo 用来存储cpu硬件信息的
信息内容分别列出了processor 0 –processor n 的规格。这里需要注意,n是逻辑cpu数
一般情况,我们认为一颗cpu可以有多核,加上intel的超线程技术(HT), 可以在逻辑上再分一倍数量的cpu core出来
逻辑CPU数量=物理cpu数量 x cpu cores 这个规格值 x 2(如果支持并开启ht)
备注一下:Linux下top查看的CPU也是逻辑CPU个数
③ CPU核数
一块CPU上面能处理数据的芯片组的数量、比如现在的i5 760,是双核心四线程的CPU、而 i5 2250 是四核心四线程的CPU
一般来说,物理CPU个数×每颗核数就应该等于逻辑CPU的个数,如果不相等的话,则表示服务器的CPU支持超线程技术
示例及说明
Architecture: x86_64 //架构--这里的64指的位处理器
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian//小端法
CPU(s): 56 //cpu数量
On-line CPU(s) list: 0-55 //在线的cpu数量 有些时候为了省电或者过热的时候,某些CPU会停止运行
Thread(s) per core: 2 //每个核心的线程数
Core(s) per socket: 14 //每个插槽可以插入的物理CPU的个数
CPU socket(s): 2 //插槽个数
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 85
Stepping: 4
CPU MHz: 2001.000
BogoMIPS: 3994.84//MIPS是每秒百万条指令,Bogo是Bogus(伪)的意思,这里是估算MIPS值
Virtualization: VT-x
L1d cache: 32K//一级高速缓存 dcache用来存储数据
L1i cache: 32K//一级高速缓存 icache 用来存储指令
L2 cache: 1024K //缓存速度上 L1 > L2 > L3 > DDR(内存) 内存的理论速度在几十g一秒
L3 cache: 19712K
NUMA node0 CPU(s): 0-13,28-41 //0-13,28-41cpu在一个numa节点上
NUMA node1 CPU(s): 14-27,42-55
选项说明:
-a,--all 同时打印在线和离线 CPU (-e 选项默认值) 此选项只能与选项-e 或-p 一起指定
-b,--online 只打印在线 CPU (-p 选项默认值) 此选项只能与选项-e 或-p 一起指定
-c,--offline 只打印离线 CPU 此选项只能与选项-e 或-p 一起指定。
-e,--extended[=<列表>] 打印扩展的可读格式 (类似表格的形式)
-p,--parse[=<列表>] 打印可解析格式
-s,--sysroot <目录> 以指定目录作为系统根目录收集 lscpu 命令所发出的实例以外的 Linux 实例的 CPU 数据。 指定的目录是要检查的 Linux 实例的系统根。
-x,--hex 打印十六进制掩码而非 CPU 列表
-y,--显示所有列的物理 id。 除了由 lscpu 分配的逻辑 id 之外 物理 id 是由内核提供的特定于平台的值。无法检索元素的物理 ID 用破折号 (-) 字符显示 此选项不影响 CPU 逻辑编号。
-h,--help 显示此帮助并退出
-V,--version 输出版本信息并退出
可用的列
CPU 逻辑CPU数量
CORE 逻辑核心数量
SOCKET 逻辑(CPU)座数量
NODE 逻辑NUMA节点数量
BOOK 逻辑book数
DRAWER 逻辑DRAWER数
CACHE显示了如何在CPU之间共享高速缓存
POLARIZATION虚拟硬件上的CPU调度模式
ADDRESScpu物理地址
CONFIGURED显示管理程序是否分配了CPU
ONLINE显示Linux是否正在使用CPU
MAXMHZ CPU最大频率
MINMHZ CPU最小频率
/proc/cpuinfo
在cpuinfo中:
同一个socket的physical id相同
cpu cores表示此socket上的core数量
如果cpu cores = siblings,表明没有开启超线程
如果cpu cores = 2 * siblings,表明开启了超线程
相同的physical id,相同的core id,但是不同的processor id,表明是同一个core上的逻辑CPU(超线程)
1、查看系统运行模式:getconf LONG_BIT
2、查看CPU型号: cat /proc/cpuinfo | grep name | sort | uniq
3、查看逻辑CPU个数: cat /proc/cpuinfo | grep "processor" | wc -l
4、查看逻辑CPU个数, 同时查看CPU型号:cat /proc/cpuinfo|grep name|cut-f2-d:|uniq-c
5、查看物理CPU个数: cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
6、查看每个物理CPU中Core的个数:cat /proc/cpuinfo | grep "cpu cores" | wc -l
7、每个CPU是几核:cat /proc/cpuinfo |grep cores |uniq
8、查看CPU的主频:cat /proc/cpuinfo | grep MHz | uniq
9、查看逻辑CPU个数, 同时查看CPU型号:cat /proc/cpuinfo|grep name|cut-f2-d:|uniq-c
10、是否为超线程?如果有两个逻辑CPU具有相同的”core id”,那么超线程是打开的。
11、每个物理CPU中逻辑CPU(可能是core, threads或both)的个数:cat /proc/cpuinfo | grep "siblings"