linux的cpu信息可以从文件中cpuinfo读取。
执行命令:
[root@liuli ~]# cat /proc/cpuinfo
processor : 0 #逻辑核,它的计数是从0开始的,例如这里看到的是0,那我们一般就说这个机器是1核的,说的实际是逻辑核
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz #cpu的名称,型号,主频
stepping : 4
microcode : 0x1
cpu MHz : 2499.988 #实际主频
cache size : 33792 KB
physical id : 0 #单个cpu的标号
siblings : 1 #单cpu的逻辑核数
core id : 0
cpu cores : 1 #逻辑核所处cpu的物理核
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 syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1
bogomips : 4999.97
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
执行命令:
#cat /proc/cpuinfo | grep "physical id" | uniq | wc -l查看机器一共几个cpu
[root@liuli ~]# cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
1 #这个是一个cpu
[root@liuli ~]#
1
2
3
执行命令:
#cat /proc/cpuinfo | grep "cpu cores" | uniq查看单个cpu的物理核数
[root@liuli ~]# cat /proc/cpuinfo | grep "cpu cores" | uniq
cpu cores : 1 #这里为1核
1
2
执行命令:
#cat /proc/cpuinfo | grep "processor" |wc -l查看总逻辑核数
[root@liuli ~]# cat /proc/cpuinfo | grep "processor" | wc -l
1 #总逻辑核数为1
1
2
这里cpu个数×物理核数 = 总逻辑核数
说明cpu没有超线程。
执行top命令,然后按1
可以查看所有逻辑核的负载。
补充:
1.物理cpu数:主板上实际插入的cpu数量,可以数不重复的 physical id 有几个(physical id)
2.cpu核数:单块CPU上面能处理数据的芯片组的数量,如双核、四核等 (cpu cores)
3.逻辑cpu数:一般情况下,逻辑cpu=物理CPU个数×每颗核数,如果不相等的话,则表示服务器的CPU支持超线程技术(HT:简单来说,它可使处理器中的1 颗内核如2 颗内核那样在操作系统中发挥作用。这样一来,操作系统可使用的执行资源扩大了一倍,大幅提高了系统的整体性能,此时逻辑cpu=物理CPU个数×每颗核数x2)