一、使用top命令查看CPU使用情况
top命令是Linux下常用的进程监控工具,也可以用来查看CPU核数。输入top命令后,在命令行的第一行会显示CPU的信息。
top - 01:57:16 up 32 days, 14:12, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 115 total, 1 running, 114 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3% us, 0.3% sy, 0.0% ni, 98.4% id, 0.9% wa, 0.0% hi, 0.0% si, 0.0% st
Mem: 488704k total, 439700k used, 49004k free, 32768k buffers
Swap: 1048568k total, 0k used, 1048568k free, 204672k cached
在这个命令的输出结果中,Cpu(s)项中,使用us表示用户空间占用CPU时间的百分比,sy表示内核空间占用的CPU时间百分比,ni表示执行nice命令后的进程占用CPU时间的百分比,id表示空闲CPU时间百分比。这里的id即为当前CPU空闲核数的数量,如果输出结果为98.4则表示当前系统有4个CPU核心。
二、使用lscpu命令查看CPU信息
lscpu命令可以查看CPU的架构、每个CPU核心的信息,以及其它一些与CPU相关的信息。
lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 4
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 79
Model name: Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz
Stepping: 3
CPU MHz: 3200.000
BogoMIPS: 6384.00
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 6144K
NUMA node0 CPU(s): 0-3
上述命令会输出CPU各种信息,包括CPU架构、位数、CPU核心数、CPU厂商等等。常用的就是查看CPU核心数,通常在第四行CPU(s)中,可以看到CPU核心数为4。
三、/proc/cpuinfo文件查看CPU信息
/proc/cpuinfo文件包含了CPU接口信息,在其中可以找到CPU的详细信息。
cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 79
model name : Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz
stepping : 3
microcode : 0xb00003e
cpu MHz : 3200.000
cache size : 256 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 22
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm mpx rdseed adx smap clflushopt intel_pt ibrs ibpb stibp ssbd
bugs :
bogomips : 6384.00
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:
在输出结果中,可以看到CPU核心数的信息在cpu cores项中,一般情况下siblings(CPU超线程数)×core id(CPU核心数)=CPU核心数。
四、使用nproc命令查看CPU核心数
nproc命令可以输出当前系统的CPU核心数。
nproc
4
输出结果表示系统的CPU核心数为4。