理解 /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 6
model name : Intel(R) Pentium(R) 4 CPU 3.00GHz
stepping : 5
cpu MHz : 3143.295
cache size : 0 KB
physical id 0
siblings : 1
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 6
wp : yes
flags : fpu vme pse tsc msr pae cx8 sep pge cmov acpi mmx fxsr sse sse2
bogomips : 1674.44
rpm i386 i586 i686 之间的区别
有的
rpm有分
i386 i586 i686等不同版本,如:
abc-1.2.3-4.i386.rpm
abc-1.2.3-4.i586.rpm
abc-1.2.3-4.i686.rpm
它们有什么不同呢?
abc-1.2.3-4.i386.rpm
abc-1.2.3-4.i586.rpm
abc-1.2.3-4.i686.rpm
它们有什么不同呢?
这里的 i386 i586 i686指的是适用于 intel i386、 i586、 i686 兼容指令集的微处理器。一般来说,等级愈高的机器可接受较低等级的 rpm文件。
i386—几乎所有的 X86平台,不论是旧的 pentum或者是新的 pentum-IV与 K7系统 CPU,都可以正常工作, i指得是 Intel兼容的 CPU,至于 386就是 CPU的等级。
i586—就是
586等级的计算机,包括
pentum第一代
MMX CPU,
AMD的
K5,
K6系统
CPU(
socket7插脚)等
CPU都是这个等级。
i686—
pentum 2 以后的
Intel系统
CPU及
K7以后等级的
CPU都属于这个
686等级。
你可以透过 /proc/cpuinfo这个档案查询你的 CPU等级。
你可以透过 /proc/cpuinfo这个档案查询你的 CPU等级。
/proc/cpuinfo
This virtual file identifies the type of processor used by your system. The following is an example of the output typical of /proc/cpuinfo:
processor : 0 vendor_id : GenuineIntel cpu family : 15 model : 2 model name : Intel(R) Xeon(TM) CPU 2.40GHz stepping : 7 cpu MHz : 2392.371 cache size : 512 KB physical id : 0 siblings : 2 runqueue : 0 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 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 bogomips : 4771.02
·
processor
—
Provides each processor with an identifying number. On systems that have one processor, only a 0 is present.
·
cpu family
—
Austhoritatively identifies the type of processor in the system. For an Intel-based system, place the number in front of "86" to determine the value. This is particularly helpful for those attempting to identify the architecture of an older system such as a 586, 486, or 386. Because some RPM packages are compiled for each of these particular architectures, this value also helps users determine which packages to install.
·
model name
—
Displays the common name of the processor, including its project name.
·
cpu MHz
—
Shows the precise speed in megahertz for the processor to the thousandths decimal place.
·
cache size
—
Displays the amount of level 2 memory cache available to the processor.
·
siblings
—
Displays the number of sibling CPUs on the same physical CPU for architectures which use hyper-threading.
·
flags
—
Defines a number of different qualities about the processor, such as the presence of a floating point unit (FPU) and the ability to process MMX instructions.
Understanding /proc/cpuinfo
Example:
$ uname -r
2.6.18-8.el5
$ uname -r
2.6.18-8.el5
How many physical processors are there?
$ grep 'physical id' /proc/cpuinfo | sort | uniq | wc -l
2
2
How many virtual processors are there?
$ grep ^processor /proc/cpuinfo | wc -l
4
4
Are the processors dual-core (or multi-core)?
$ grep 'cpu cores' /proc/cpuinfo
cpu cores : 2
cpu cores : 2
cpu cores : 2
cpu cores : 2
"2" indicates the two physical processors are dual-core, resulting in 4 virtual processors.
If "1" was returned, the two physical processors are single-core. If the processors are single-core, and the number of virtual processors is greater than the number of physical processors, the CPUs are using hyper-threading. Hyper-threading is supported if ht is present in the CPU flags and you are using an SMP kernel.
cpu cores : 2
cpu cores : 2
cpu cores : 2
cpu cores : 2
"2" indicates the two physical processors are dual-core, resulting in 4 virtual processors.
If "1" was returned, the two physical processors are single-core. If the processors are single-core, and the number of virtual processors is greater than the number of physical processors, the CPUs are using hyper-threading. Hyper-threading is supported if ht is present in the CPU flags and you are using an SMP kernel.
Are the processors 64-bit?
A 64-bit processor will have
lm
("long mode") in the
flags
section of
cpuinfo
. A 32-bit processor will not.
e.g.,
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm cr8legacy ts fid vid ttp tm stc
e.g.,
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm cr8legacy ts fid vid ttp tm stc
What do the CPU flags mean?
The CPU flags are briefly described in the kernel header file
cpufeature.h
.
proc/cpuinfo 确定系统的CPU情况
一些操作系统的最新版本已经更新了
/proc/cpuinfo
文件,以支持多路平台。如果您的系统中的
/proc/cpuinfo
文件能够正确地反映出处理器信息,那么就不需要执行上述步骤。反之,可采用本文中的信息进行解释。
/proc/cpuinfo 文件包含系统上每个处理器的数据段落。 /proc/cpuinfo 描述中有 6 个条目适用于多内核和超线程( HT )技术检查: processor , vendor id, physical id, siblings, core id 和 cpu cores 。
/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。
拥有相同 physical id 的所有逻辑处理器共享同一个物理插座。每个 physical id 代表一个唯一的物理封装。 Siblings 表示位于这一物理封装上的逻辑处理器的数量。它们可能支持也可能不支持超线程( HT )技术。每个 core id 均代表一个唯一的处理器内核。所有带有相同 core id 的逻辑处理器均位于同一个处理器内核上。如果有一个以上逻辑处理器拥有相同的 core id 和 physical id ,则说明系统支持超线程( HT )技术。如果有两个或两个以上的逻辑处理器拥有相同的 physical id ,但是 core id 不同,则说明这是一个多内核处理器。 cpu cores 条目也可以表示是否支持多内核。
例如,如果系统包含两个物理封装,每个封装中又包含两个支持超线程( HT )技术的处理器内核,则 /proc/cpuinfo 文件将包含此数据。(注:数据并不在表格中。)
processor
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
physical id
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
core id
|
0
|
2
|
1
|
3
|
0
|
2
|
1
|
3
|
siblings
|
4
|
4
|
4
|
4
|
4
|
4
|
4
|
4
|
cpu cores
|
2
|
2
|
2
|
2
|
2
|
2
|
2
|
2
|
此例说明逻辑处理器 0 和 4 驻留在物理封装 0 的内核 0 上。这就表示逻辑处理器 0 和 4 支持超线程( HT )技术。相同的工作可用于封装 0 内核 1 上的逻辑处理器 2 和 6 ,封装 1 内核 2 上的逻辑处理器 1 和 5 ,以及封装 1 内核 3 上的逻辑处理器 3 和 7 。此系统支持超线程( HT )技术,因为两个逻辑处理器共享同一个内核。有两种方式可以确定是否支持多内核。由于内核 0 和 1 存在于封装 0 上,而内核 2 和 3 存在于封装 1 上,所以这是一个多内核系统。此外, cpu cores 条目为 2 ,也说明有两个内核驻留在物理封装中。这是一个多路系统,因为有两个封装。
值得注意的是 physical id 和 core id 的编号可能是也可能不是连续的。系统上有两个物理封装并不罕见,而且 physical id 等于 0 和 3
CPU ID
CPU ID
是
CPU
生产厂家为识别不同类型的
CPU
,而为
CPU
制订的不同的单一的代码;不同厂家的
CPU
,其
CPU ID
定义也是不同的;如
“0F24”
(
Inter
处理器)、
“681H”
(
AMD
处理器),根据这些数字代码即可判断
CPU
属于哪种类型,这就是一般意义上的
CPU ID
。
由 于计算机使用的是十六进制,因此 CPU ID 也是以十六进制表示的。 Inter 处理器的 CPU ID 一共包含四个数字,如 “0F24” ,从左至右分别表示 Type (类型)、 Family (系列)、 Mode (型号)和 Stepping (步进编号)。从 CPUID 为 “068X” 的处理器开始, Inter 另外增 加了 Brand ID (品种标识)用来辅助应用程序识别 CPU 的类型,因此根据 “068X”CPUID 还不能正确判别 Pentium 和 Celerom 处理 器。必须配合 Brand ID 来进行细分。 AMD 处理器一般分为三位,如 “681” ,从左至右分别表示为 Family (系列)、 Mode (型号)和 Stepping (步进编号)。
Type (类型)
类型标识用来区别 INTEL 微处理器是用于由最终用户安装,还是由专业个人计算机系 统集成商、服务公司或制作商安装;数字 “1” 标识所测试的微处理器是用于由用户安装的;数字 “0” 标识所测试的微处理器是用于由专业个人计算机系统集成 商、服务公司或制作商安装的。我们通常使用的 INTEL 处理器类型标识都是 “0” , “0F24”CPUID 就属于这种类型。
Family (系列)
系 列标识可用来确定处理器属于那一代产品。如 6 系列的 INTEL 处理器包括 Pentium Pro 、 Pentium II 、 Pentium II Xeon 、 Pentium III 和 Pentium III Xeon 处理器。 5 系列(第五代)包括 Pentium 处理器和采用 MMX 技术的 Pentium 处理器。 AMD 的 6 系列实际指有 K7 系列 CPU ,有 DURON 和 ATHION 两大类。最新一代的 INTEL Pentium 4 系列处理器(包括相同核心的 Celerom 处理器)的系列值为 “F”
Mode (型号)
型号标识可用来 确定处理器的制作技术以及属于该系列的第几代设计(或核心),型号与系列通常是相互配合使用的,用于确定计算机所安装的处理器是属于某系列处理器的哪种特 定类型。如可确定 Celerom 处理器是 Coppermine 还是 Tualutin 核心; Athlon XP 处理器是 Paiomino 还是 Thorouhgbred 核心。
Stepping (步进编号)
步进编号用来标识处理器的设计或制作版本,有助于控制和跟踪处理器的更 改,步进还可以让最终用户更具体地识别其系统安装的处理器版本,确定微处理器的内部设计或制作特性。步进编号就好比处理器的小版本号,如 CPUID 为 “686” 和 “686A” 就好比 WINZIP8.0 和 8.1 的关系。步进编号和核心步进是密切联系的。如 CPUID 为 “686” 的 Pentium III 处理器是 cCO 核心,而 “686A” 表示的是更新版本 cD0 核心。
Brand ID (品种标识)
INTEL 从 Coppermine 核心的处理器开始引入 Brand ID 作为 CPU 的辅助识别手段。如我们通过 Brand ID 可以识别出处理器究竟是 Celerom 还是 Pentium 4 。
由 于计算机使用的是十六进制,因此 CPU ID 也是以十六进制表示的。 Inter 处理器的 CPU ID 一共包含四个数字,如 “0F24” ,从左至右分别表示 Type (类型)、 Family (系列)、 Mode (型号)和 Stepping (步进编号)。从 CPUID 为 “068X” 的处理器开始, Inter 另外增 加了 Brand ID (品种标识)用来辅助应用程序识别 CPU 的类型,因此根据 “068X”CPUID 还不能正确判别 Pentium 和 Celerom 处理 器。必须配合 Brand ID 来进行细分。 AMD 处理器一般分为三位,如 “681” ,从左至右分别表示为 Family (系列)、 Mode (型号)和 Stepping (步进编号)。
Type (类型)
类型标识用来区别 INTEL 微处理器是用于由最终用户安装,还是由专业个人计算机系 统集成商、服务公司或制作商安装;数字 “1” 标识所测试的微处理器是用于由用户安装的;数字 “0” 标识所测试的微处理器是用于由专业个人计算机系统集成 商、服务公司或制作商安装的。我们通常使用的 INTEL 处理器类型标识都是 “0” , “0F24”CPUID 就属于这种类型。
Family (系列)
系 列标识可用来确定处理器属于那一代产品。如 6 系列的 INTEL 处理器包括 Pentium Pro 、 Pentium II 、 Pentium II Xeon 、 Pentium III 和 Pentium III Xeon 处理器。 5 系列(第五代)包括 Pentium 处理器和采用 MMX 技术的 Pentium 处理器。 AMD 的 6 系列实际指有 K7 系列 CPU ,有 DURON 和 ATHION 两大类。最新一代的 INTEL Pentium 4 系列处理器(包括相同核心的 Celerom 处理器)的系列值为 “F”
Mode (型号)
型号标识可用来 确定处理器的制作技术以及属于该系列的第几代设计(或核心),型号与系列通常是相互配合使用的,用于确定计算机所安装的处理器是属于某系列处理器的哪种特 定类型。如可确定 Celerom 处理器是 Coppermine 还是 Tualutin 核心; Athlon XP 处理器是 Paiomino 还是 Thorouhgbred 核心。
Stepping (步进编号)
步进编号用来标识处理器的设计或制作版本,有助于控制和跟踪处理器的更 改,步进还可以让最终用户更具体地识别其系统安装的处理器版本,确定微处理器的内部设计或制作特性。步进编号就好比处理器的小版本号,如 CPUID 为 “686” 和 “686A” 就好比 WINZIP8.0 和 8.1 的关系。步进编号和核心步进是密切联系的。如 CPUID 为 “686” 的 Pentium III 处理器是 cCO 核心,而 “686A” 表示的是更新版本 cD0 核心。
Brand ID (品种标识)
INTEL 从 Coppermine 核心的处理器开始引入 Brand ID 作为 CPU 的辅助识别手段。如我们通过 Brand ID 可以识别出处理器究竟是 Celerom 还是 Pentium 4 。