在Linux上获取CPU信息
时间:2020-03-05 15:26:51 来源:igfitidea点击:
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
使用“ lscpu”检查CPU信息
“ 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的列表。