在Linux上获取CPU信息

CPU(中央处理器),通常简称为处理器,是计算机的基本组件之一。 它执行所有类型的数据处理操作,通常被称为计算机的大脑。

您是否想知道系统中使用哪种CPU,CPU速度是多少? 出于多种原因,您可能需要了解计算机内部拥有的CPU。 也许您正在加载内核模块或调试与硬件相关的问题。 无论出于何种原因,在Linux上,从命令行确定处理器类型和速度都是很容易的。

在Linux中获取CPU信息

确定您拥有哪种类型的CPU的最简单方法是显示以下内容: /proc/cpuinfo 虚拟文件。

使用以下命令识别处理器的类型 proc/cpuinfo 文件不需要安装任何其他程序。 无论您使用哪种Linux发行版,它都将起作用。

打开您的终端并使用 less 要么 cat 显示内容 /proc/cpuinfo

less /proc/cpuinfo

该命令将打印每个带有标识号的逻辑CPU。 例如,如果您有8个核心处理器,您将看到一个从0到7开始的所有核心的列表。以下是输出示例:

processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 142
model name	: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
stepping	: 10
microcode	: 0x96
cpu MHz		: 700.120
cache size	: 6144 KB
physical id	: 0
siblings	: 8
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 est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp flush_l1d
bugs		: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips	: 3600.00
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

...

以下是最有趣的几行的解释:

  • 处理器 -每个处理器的唯一标识号,从0开始。
  • 型号名称 -处理器的全名,包括处理器品牌。 一旦知道了所拥有的确切CPU类型,就可以查看有关处理器规格的产品文档。
  • 标志 -CPU功能。 您可以在此处找到所有功能的列表。

如果要过滤输出,可以使用 grep 命令。 例如,要仅显示处理器名称,可以使用:

grep -m 1 'model name' /proc/cpuinfo
model name	: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz

要打印CPU数量:

grep -c 'model name' /proc/cpuinfo
8

当您需要从源代码编译软件时,知道CPU的数量会很方便,并且您想知道可以同时执行多少个并行进程。 查找CPU数量的另一种方法是使用 nproc 命令:

nproc
8

检查CPU信息 lscpu

lscpu 是一个命令行实用程序,用于显示有关CPU体系结构的信息。 lscpu 是util-linux软件包的一部分,该软件包已安装在所有Linux发行版中。

在shell提示下,键入 lscpu

lscpu

输出将类似于以下内容,包括有关CPU数量,体系结构,供应商,家族,型号,速度,缓存,标志等的信息。

Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              8
On-line CPU(s) list: 0-7
Thread(s) per core:  2
Core(s) per socket:  4
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               142
Model name:          Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
Stepping:            10
CPU MHz:             593.577
CPU max MHz:         3400.0000
CPU min MHz:         400.0000
BogoMIPS:            3600.00
Virtualization:      VT-x
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            6144K
NUMA node0 CPU(s):   0-7
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 est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp flush_l1d

与内容不同 /proc/cpuinfo 文件,则lscpu的输出不会显示所有逻辑CPU的列表。

结论#

在本指南中,我们向您展示了如何查找有关系统CPU的信息。 您还可以使用其他工具来确定您的CPU名称和供应商,例如 dmidecodehardinfolshw,但大多数默认情况下未在Linux系统上安装。

如有任何疑问,请随时发表评论。

终奌站

Sidebar