如何在Linux中获取CPU信息

如何在Linux中获取CPU信息?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

目前创新互联已为近1000家的企业提供了网站建设、域名、网站空间成都网站托管、企业网站设计、南山网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

方法一:查看/proc/cpuinfo文件来获取CPU信息

通过显示/proc/cpuinfo虚拟文件的内容,是确定CPU类型等信息的的最简单方法。使用proc/cpuinfo文件标识处理器类型不需要安装任何其他程序。不管我们使用的是什么Linux发行版,它都能工作。

打开终端并使用less或cat来显示/proc/cpuinfo的内容,以便我们获取并查看CPU信息:

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:

...

以下是重要的几行的介绍:

● processor:每个处理器的唯一标识号,从0开始。

● model name: 处理器的全名,包括处理器品牌。我们一旦了解了所具有的CPU的确切类型,就可以查看有关处理器规格的产品文档。

● flags: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的列表。

关于如何在Linux中获取CPU信息?问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


分享名称:如何在Linux中获取CPU信息
标题路径:http://ybzwz.com/article/jjhosg.html