windows | Mac os | linux | 电脑故障 | 网络知识 | 电脑百科 | 破解软件 | 网页编程 | 电脑配置 |

Linux怎么获取CPU数量

现在CPU核心数、线程数越来越高,那么Linux怎么获取CPU数量呢?接下来大家跟着小编一起来了解一下Linux获取CPU数量的解决方法吧。

Linux获取CPU数量方法

#include

long num = sysconf(_SC_NPROCESSORS_ONLN);

便可以获得当前CPU的数量。。。

判断依据:

1.具有相同core id的cpu是同一个core的超线程。

2.具有相同physical id的cpu是同一颗cpu封装的线程或者cores。

英文版:

1.Physical id and core id are not necessarily consecutive but they are unique. Any cpu with the same core id are hyperthreads in the same core.

2.Any cpu with the same physical id are threads or cores in the same physical socket.

实例:

LunarPages的CPU信息:

processor : 0

vendor_id : GenuineIntel

cpu family : 15

model : 4

model name : Intel(R) Xeon(TM) CPU 3.00GHz

stepping : 3

cpu MHz : 3000.881

cache size : 2048 KB

physical id : 0

siblings : 2

core id : 0

cpu cores : 1

fdiv_bug : no

hlt_bug : no

f00f_bug : no

coma_bug : no

fpu : yes

fpu_exception : yes

cpuid level : 5

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 lm constant_tsc pni monitor ds_cpl cid xtpr

bogomips : 6006.73

processor : 1

vendor_id : GenuineIntel

cpu family : 15

model : 4

model name : Intel(R) Xeon(TM) CPU 3.00GHz

stepping : 3

cpu MHz : 3000.881

cache size : 2048 KB

physical id : 0

siblings : 2

core id : 0

cpu cores : 1

fdiv_bug : no

hlt_bug : no

f00f_bug : no

coma_bug : no

fpu : yes

fpu_exception : yes

cpuid level : 5

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 lm constant_tsc pni monitor ds_cpl cid xtpr

bogomips : 5999.40

processor : 2

vendor_id : GenuineIntel

cpu family : 15

model : 4

model name : Intel(R) Xeon(TM) CPU 3.00GHz

stepping : 3

cpu MHz : 3000.881

cache size : 2048 KB

physical id : 3

siblings : 2

core id : 3

cpu cores : 1

fdiv_bug : no

hlt_bug : no

f00f_bug : no

coma_bug : no

fpu : yes

fpu_exception : yes

cpuid level : 5

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 lm constant_tsc pni monitor ds_cpl cid xtpr

bogomips : 5999.08

processor : 3

vendor_id : GenuineIntel

cpu family : 15

model : 4

model name : Intel(R) Xeon(TM) CPU 3.00GHz

stepping : 3

cpu MHz : 3000.881

cache size : 2048 KB

physical id : 3

siblings : 2

core id : 3

cpu cores : 1

fdiv_bug : no

hlt_bug : no

f00f_bug : no

coma_bug : no

fpu : yes

fpu_exception : yes

cpuid level : 5

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 lm constant_tsc pni monitor ds_cpl cid xtpr

bogomips : 5999.55

显示4个逻辑CPU,通过physical id,前面两个逻辑cpu的相同,后面两个的相同,所以有两个物理CPU。前面两个的 core id相同,后面的两个core ID相同,说明这两个CPU都是单核。也就是说两个单核cpu,启用了超线程技术。

通过intel的cpu的参数可以初步判断 使用的是两个 Xeon奔腾4CPU ,有点差。。。。

如何获得CPU的详细信息:

linux命令:

#cat /proc/cpuinfo

用命令判断几个物理CPU,几个核等:

逻辑CPU个数:

# cat /proc/cpuinfo | grep 'processor' | wc -l

物理CPU个数:

# cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l

每个物理CPU中Core的个数:

# cat /proc/cpuinfo | grep 'cpu cores' | wc -l

是否为超线程?

如果有两个逻辑CPU具有相同的”core id”,那么超线程是打开的。

每个物理CPU中逻辑CPU(可能是core, threads或both)的个数:

# cat /proc/cpuinfo | grep 'siblings'

其他特征:

目前intel新的多核心cpu都会在后面显示具体的型号数字,例如:

model name : Intel(R) Xeon(R) CPU X3230 @ 2.66GHz

说明是 Xeon 3230的cpu,而不显示型号的具体数字的,大部分都是奔腾的CPU

很多主机商都骗人,用奔腾的cpu,却说是多核心的CPU。

探针看到的数据:

类型:Intel(R) Xeon(TM) CPU 2.80GHz 缓存:1024 KB

类型:Intel(R) Xeon(TM) CPU 2.80GHz 缓存:1024 KB

类型:Intel(R) Xeon(TM) CPU 2.80GHz 缓存:1024 KB

类型:Intel(R) Xeon(TM) CPU 2.80GHz 缓存:1024 KB

没有具体的型号,缓存1M,一般都是奔腾系列的cpu,或者是intel假双核的cpu,具体要根据上面说的去判断。新的多核心cpu都能看到具体的型号。

另外多核心的xeon的CPU,一般主频都不高,达到2.8和3.0的只有很少的几个高端CPU型号,一般主机商不会用这么好的。

一些操作系统的最新版本已经更新了 /proc/cpuinfo 文件,以支持多路平台。如果您的系统中的 /proc/cpuinfo 文件能够正确地反映出处理器信息,那么就不需要执行上述步骤。反之,可采用本文中的信息进行解释。

/proc/cpuinfo 文件包含系统上每个处理器的数据段落。/proc/cpuinfo 描述中有 6 个条目适用于多内核和超线程(HT)技术检查:processor, vendor id, physical id, siblings, core id 和 cpu cores。

processor 条目包括这一逻辑处理器的唯一标识符。

physical id 条目包括每个物理封装的唯一标识符。

core id 条目保存每个内核的唯一标识符。

siblings 条目列出了位于相同物理封装中的逻辑处理器的数量。

cpu cores 条目包含位于相同物理封装中的内核数量。

如果处理器为英特尔处理器,则 vendor id 条目中的字符串是 GenuineIntel。

1.拥有相同 physical id 的所有逻辑处理器共享同一个物理插座。每个 physical id 代表一个唯一的物理封装。

2.Siblings 表示位于这一物理封装上的逻辑处理器的数量。它们可能支持也可能不支持超线程(HT)技术。

3.每个 core id 均代表一个唯一的处理器内核。所有带有相同 core id 的逻辑处理器均位于同一个处理器内核上。

4.如果有一个以上逻辑处理器拥有相同的 core id 和 physical id,则说明系统支持超线程(HT)技术。

5.如果有两个或两个以上的逻辑处理器拥有相同的 physical id,但是 core id 不同,则说明这是一个多内核处理器。cpu cores 条目也可以表示是否支持多内核。

例如,如果系统包含两个物理封装,每个封装中又包含两个支持超线程(HT)技术的处理器内核,则 /proc/cpuinfo 文件将包含此数据。

看过“Linux怎么获取CPU数量”的人还看了:

123
  • Linux怎么获取CPU数量 相关内容:
  • Linux GCC常用命令详解
  • 1. 简介 GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言;它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,等等。而 GCC 也不再单只是 GNU...

  • Linux系统已经融入了我们的生活!论Linux系统的
  • 你知道操作系统都有些什么吗?Windows啊。 这是我在上大学之前的问答,我当时认为只一种叫做Windows的操作系统,可是我错了,当我上大学以后,作为计算机专业的一名学生的时候我第一次接触到了除Windows以外的操作系统,那就是linux,之后我便自己装了个虚拟机在上面又安装了linux发...

  • Linux下使用Speedtest测试网速的方法
  • Speedtest是用来测试网络性能的开源软件,在Linux下面安装Speedtest可以用来测试网络出口的上传和下载速度,帮助排查网络方面导致的故障。 Speedtest介绍 由于公司几个项目用户访问的时候响应较慢,项目本身没问题,服务及调用的接口返回信息都比较正常,猜想是网络方面造成的瓶...

  • 使用Git管理二进制大对象的方法
  • 通过这系列的前六篇文章,我们已经学会使用 Git 来对文本文件进行版本控制的管理。我们不禁要问,还有二进制文件呢,也可进行进行版本控制吗?答案是肯定的,Git 已经有了可以处理像多媒体文件这样的二进制大对象块(blob)的扩展。因此,今天我们会学习使用 Git 来管理所谓的二进制资...

  • Linux下软件包类故障排错方案详解
  • 软件包类故障在Linux系统中比较常见,例如:需要编译源码包程序时系统中没有安装gcc编译工具,安装RPM软件包时有未解决的依赖关系,程序库文件或头文件的安装路径不正确等,软件包类故障产生的原因非常多,通常只需要根据相应的错误提示信息,确认安装好编译环境,找到所需要的依赖软件...

  • Linux下垃圾文件的详解
  • Linux 计算机安装后,在我们不断的使用过程中,因为添加、删除软件和上网冲浪、调试程序等行为,硬盘中会产生各种各样的垃圾文件,而随着这些垃圾文件的不断膨胀,它们不仅会平白吞噬掉我们宝贵的硬盘空间,更会拖累机器的运行速度,影响我们的工作效率。本文介绍一下给 Linux 系统减...

  • shell语法检查模式详解
  • 启用 verbose 调试模式 在进入本指导的重点之前,让我们简要地探索下 verbose 模式。它可以用 -v 调试选项来启用,它会告诉 shell 在读取时显示每行。要展示这个如何工作,下面是一个示例脚本来批量将 PNG 图片转换成 JPG 格式。 将下面内容输入(或者复制粘贴)到一个文件中。...

  • 使用Glyphr如何玩转Linux字体?
  • LibreOffice 提供了丰富的字体,并且用户可以自由选择和下载增加自己的字体。然而,就算是你想创造自己的字体,也可以非常容易地使用 Glyphr 来做到。Glyphr 是一个新开源的矢量字体设计器,通过直观而易用的图形界面和丰富的功能集可以完成字体设计的方方面面。虽然这个应用还...

  • 发布时间:2016-11-30 16:22:03 查看更多>>

    linux