Linux查看CPU信息、物理CPU个数、核数、逻辑CPU个数、CPU使用率、运行位数

一、查看CPU信息

[itms_ecr@localhost ~]$ cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 79
model name	: Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
stepping	: 1
microcode	: 0xffffffff
cpu MHz		: 2199.962
cache size	: 30720 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36
clflush mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand 
hypervisor lahf_lm abm 3dnowprefetch fsgsbase bmi1 hle avx2 smep bmi2 erms rtm
xsaveopt
bogomips	: 4399.92
clflush size	: 64
cache_alignment	: 64
address sizes	: 42 bits physical, 48 bits virtual
power management:
 
processor	: 1
vendor_id	: GenuineIntel
cpu family	: 6
model		: 79
model name	: Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
stepping	: 1
microcode	: 0xffffffff
cpu MHz		: 2199.962
cache size	: 30720 KB
physical id	: 0
siblings	: 2
core id		: 1
cpu cores	: 2
apicid		: 1
initial apicid	: 1
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 
clflush mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl eagerfpu pni 
pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand 
hypervisor lahf_lm abm 3dnowprefetch fsgsbase bmi1 hle avx2 smep bmi2 erms rtm 
xsaveopt
bogomips	: 4399.92
clflush size	: 64
cache_alignment	: 64
address sizes	: 42 bits physical, 48 bits virtual
power management:

vendor id     如果处理器为英特尔处理器,则字符串是 GenuineIntel。
processor     包括这一逻辑处理器的唯一标识符。
physical id   包括每个物理封装的唯一标识符。
core id       保存每个内核的唯一标识符。
siblings      列出了位于相同物理封装中的逻辑处理器的数量。
cpu cores     包含位于相同物理封装中的内核数量。

1. 拥有相同 physical id 的所有逻辑处理器共享同一个物理插座,每个 physical id 代表一个唯一的物理封装。
2. Siblings 表示位于这一物理封装上的逻辑处理器的数量,它们可能支持也可能不支持超线程(HT)技术。
3. 每个 core id 均代表一个唯一的处理器内核,所有带有相同 core id 的逻辑处理器均位于同一个处理器内核上。简单的说:“siblings”指的是一个物理CPU有几个逻辑CPU,”cpu cores“指的是一个物理CPU有几个核。
4. 如果有一个以上逻辑处理器拥有相同的 core id 和 physical id,则说明系统支持超线程(HT)技术。
5. 如果有两个或两个以上的逻辑处理器拥有相同的 physical id,但是 core id不同,则说明这是一个多内核处理器。cpu cores条目也可以表示是否支持多内核。

二、物理CPU、逻辑CPU、CPU核数

① 物理CPU               
        实际Server中插槽上的CPU个数
        物理cpu数量,可以数不重复的 physical id 有几个           
② 逻辑CPU               
        Linux用户对 /proc/cpuinfo 这个文件肯定不陌生. 它是用来存储cpu硬件信息的
        信息内容分别列出了processor 0 – n 的规格。这里需要注意,如果你认为n就是真实的cpu数的话, 就大错特错了
         一般情况,我们认为一颗cpu可以有多核,加上intel的超线程技术(HT), 可以在逻辑上再分一倍数量的cpu core出来
        逻辑CPU数量=物理cpu数量 x cpu cores  x 2(如果支持并开启超线程技术)
        备注一下:Linux下top查看的CPU也是逻辑CPU个数              
③ CPU核数           
        一块CPU上面能处理数据的芯片组的数量、比如现在的i5 760,是双核心四线程的CPU、而 i5 2250 是四核心四线程的CPU              
        一般来说,物理CPU个数×每颗核数就应该等于逻辑CPU的个数,如果不相等的话,则表示服务器的CPU支持超线程技术

概括如下:

CPU总核数 = 物理CPU个数 * 每颗物理CPU的核数
总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数

#查看CPU型号
[root@localhost Platform]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
16  Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz
#查看物理CPU个数
[root@localhost Platform]# cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l  
2 
#查看每个物理CPU中core个数(核数)
[root@localhost Platform]#  cat /proc/cpuinfo |grep "cores"|uniq  
6
#查看逻辑CPU的个数
[root@localhost Platform]# cat /proc/cpuinfo |grep "processor"|wc -l  
24

#这里应该是2个CPU,每个CPU有6个core,应该是Intel的CPU,支持超线程,所以显示24 

这些都代表什么,那就请看CPU架构

多个物理CPU,CPU通过总线进行通信,效率比较低,如下:

多核CPU,不同的核通过L2 cache进行通信,存储和外设通过总线与CPU通信,如下:

多核超线程,每个核有两个逻辑的处理单元,两个核共同分享一个核的资源,如下:

从上面执行的结果来看,证明我使用的cpu有2 * 6 = 12核,每个核有2个超线程,所以有24个逻辑cpu。

三、查看CPU使用率

1、Top命令可以看到CPU使用率百分比。Ctrl+C可以退出TOP。 

2、使用cat /proc/stat,如下所示,可以看到16个CPU使用的情况。

[root@localhost Platform]# cat /proc/stat
cpu  123298785 799 10080006 1655802914 83400 0 371862 0 0 0
cpu0 5988375 25 529862 105258150 5300 0 70316 0 0 0
cpu1 6308556 96 938396 104451902 7695 0 28901 0 0 0
cpu2 6026198 54 860991 104857627 6515 0 22615 0 0 0
cpu3 5528164 45 736305 105513319 6315 0 21367 0 0 0
cpu4 5310825 26 654568 105843700 5804 0 23721 0 0 0
cpu5 5101983 28 592490 106123742 5171 0 23720 0 0 0
cpu6 4913575 34 574874 106344045 5795 0 21008 0 0 0
cpu7 4878345 37 543486 106406520 5429 0 21966 0 0 0
cpu8 17076490 24 542343 94177614 5803 0 16289 0 0 0
cpu9 9946257 108 778112 101097221 4440 0 16185 0 0 0
cpu10 9147441 63 715605 102013811 3987 0 15202 0 0 0
cpu11 8615628 85 599520 102656575 4148 0 15280 0 0 0
cpu12 8752857 60 549480 102557181 4214 0 22128 0 0 0
cpu13 8701733 36 499565 102683438 4125 0 17752 0 0 0
cpu14 8583443 35 490501 102821064 4329 0 16763 0 0 0
cpu15 8418908 37 473901 102996997 4321 0 18641 0 0 0
intr 9451457955 74 1161 0 0 0 0 0 0 1 0 0 0 901 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4406021 16863344 7009408 7231607 9771880 4919917 5081041 15716751 5411376 0 549064 162556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ctxt 15440061494
btime 1637118200
processes 10798413
procs_running 2
procs_blocked 0
softirq 3880506973 0 2171968421 224959 341976054 4923934 0 2687177 408953529 0 949772899

四、查看CPU运行在多少位的机器的命令

[root@localhost Platform]#  getconf LONG_BIT
64

五、查看CPU是否支持64位运算

[root@localhost Platform]# cat /proc/cpuinfo | grep flags | grep ' lm '|wc -l
16

等于16,说明16个逻辑CPU都支持64位运算,lm表示long mode,即64位。

参与链接:

Linux查看CPU信息(CPU个数、核心数、CPU使用率、运行位数)_文武傲群雄,彳亍定江山-CSDN博客

 查看系统cpu个数、核心数、线程数_tyyking的博客-CSDN博客_cpu个数

Linux查看物理CPU个数、核数、逻辑CPU个数 - 步孤天 - 博客园

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值