Ubuntu -- 下如何查看CPU信息, 包括位数和多核信息

前端之家收集整理的这篇文章主要介绍了Ubuntu -- 下如何查看CPU信息, 包括位数和多核信息前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

查看当前操作系统内核信息

#uname -a


Linuxredcat 2.6.31-20-generic #58-Ubuntu SMP Fri Mar 12 05:23:09 UTC 2010 i686 GNU/Linux

查看当前操作系统发行版信息

#cat /etc/issue
Ubuntu 9.10 /n /l

查看cpu型号

#cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
2 Intel(R) Core(TM)2 Duo cpu P8600 @ 2.40GHz
(看到有2个逻辑cpu,也知道了cpu型号)

查看物理cpu颗数

#cat /proc/cpuinfo | grep physical | uniq -c

2 physical id : 0
(说明实际上是1颗2核的cpu)

查看cpu运行模式

# getconf LONG_BIT

32

(说明当前cpu运行在32bit模式下,但不代表cpu不支持64bit)

查看cpu是否支持64bit

#cat /proc/cpuinfo | grep flags | grep ' lm ' | wc-l

2

(结果大于0,说明支持64bit计算. lm指long mode,支持lm则是64bit)

查看cpu信息概要(昨天看aix的时候刚发现的,在ubuntu上竟然也有~):

#lscpu

Architecture: i686 #架构686
cpu(s): 2 #逻辑cpu颗数是2
Thread(s) per core: 1 #每个核心线程数是1
Core(s) per socket: 2 #每个cpu插槽核数/每颗物理cpu核数是2
cpu socket(s): 1 #cpu插槽数是1
Vendor ID: GenuineIntel #cpu厂商ID是GenuineIntel
cpu family: 6 #cpu系列是6
Model: 23 #型号23
Stepping: 10 #步进是10
cpu MHz: 800.000 #cpu主频是800MHz
Virtualization: VT-x #cpu支持的虚拟化技术VT-x(对此在下一博文中解释下http://hi.baidu.com/sdusoul/blog/item/5d8e0488def3a998a5c272c0.html)
L1d cache: 32K #一级缓存32K(google了下,这具体表示表示cpu的L1数据缓存为32k)
L1i cache: 32K#一级缓存32K(具体为L1指令缓存为32K)
L2 cache: 3072K #二级缓存3072K

最后来个大而全的:

#cat /proc/cpuinfo

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Core(TM)2 Duo cpu P8600 @ 2.40GHz
stepping : 10
cpu MHz : 800.000
cache size : 3072 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm ida tpr_shadow vnmi flexpriority
bogomips : 4788.60
clflush size : 64
power management:

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Core(TM)2 Duo cpu P8600 @ 2.40GHz
stepping : 10
cpu MHz : 800.000
cache size : 3072 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm ida tpr_shadow vnmi flexpriority
bogomips : 4787.96
clflush size : 64
power management:

补充,linux下通过c获取cpu个数信息

from:http://hi.baidu.com/hermitinhistory/blog/item/ce64d5fb6b23b71b6d22eb95.html

#include<stdio.h>
#include<unistd.h>

int main()
{
int cpu_num;

cpu_num = sysconf(_SC_NPROCESSORS_CONF);
printf("_SC_NPROCESSORS_CONF=%d/n",cpu_num);

cpu_num = sysconf(_SC_NPROCESSORS_ONLN);
printf("_SC_NPROCESSORS_ONLN=%d/n",cpu_num);

return 0;
}

/*
* - _SC_NPROCESSORS_CONF
* The number of processors configured.
*
* - _SC_NPROCESSORS_ONLN
* The number of processors currently online (available).
*/

Linux下获得cpu个数一个简单方法就是查看/proc/cpuinfo文件。看出现processor字样的行数是多少条,即有多少个逻辑cpu包括多核,超线程)。
因此cmd下输入下面命令即可:
cat /proc/cpuinfo | grep processor | wc -l
因此c++程序中很自然的想到使用strstr函数查找processor关键词出现次数即可。


from:http://hi.baidu.com/sdusoul/blog/item/76f349508f74fb6e843524eb.html

猜你在找的Ubuntu相关文章