我的 Linux 机器报告“uname -a”输出如下:
[root@tom i386]# uname -a
Linux tom 2.6.9-89.ELsmp #1 SMP Mon Apr 20 10:34:33 EDT 2009 i686 i686 i386 GNU/Linux
[root@tom i386]#
根据 uname 的手册页,条目“i686 i686 i386”表示:
- 机器硬件名称(i686)
- 处理器类型 (i686)
- 硬件平台(i386)
附加信息:
[root@tom i386]# cat /proc/cpuinfo
<snip>
vendor_id : GenuineIntel
CPU family : 6
model : 15
model name : Intel(R) Xeon(R) CPU 5148 @ 2.33 GHz
stepping : 6
CPU MHz : 2328.038
cache size : 4096 KB
</snip>
如何区分这三个条目(“i686 i686 i386”)?
答案1
简而言之 硬件平台 ( uname -i
) ==> 操作系统类型。 32 位或 64 位。一旦您安装了使用 32 位操作系统编译代码所需的软件包和插件,现在您想将其更改为 64 位操作系统,可能会出现这种情况,问题可能会出现。因此,最好删除那些依赖于 32 位操作系统的插件或保留 32 位操作系统本身。
机器 ( uname -m
)===> 将其视为构建处理器的主板。
处理器 ( uname -p
)==> CPU 架构,取决于指令集。
重要的是:
机器和处理器应该相同。不管是32位还是64位,没有什么不同。
硬件平台必须与机器和处理器相同或更低。
答案2
处理器类型(或名称)是指处理器采用的架构。
硬件机器名称必须与处理器类型兼容,换句话说,必须与处理器类型相同。
最后,硬件平台是指硬件用来处理的整个指令,并且它的版本不得高于处理器类型。
例如,您无法在 i386 处理器中运行 i686 指令集。
i686 指的是 64 位处理器和架构,但指的是平台,它意味着 x686 或 x86_64,指的是指令通道(64 位)。
i386 = 32 位
答案3
使用以下选项,您可以区分这三个条目(“i686 i686 i386”)。
[root@tom i386]# uname -a
Linux tom 2.6.9-89.ELsmp #1 SMP Mon Apr 20 10:34:33 EDT 2009 i686 i686 i386
GNU/Linux
[root@tom i386]#uname -m; -->machine hardware name
i686
[root@tom i386]#uname -p; -->processor type
i686
and last one is hardware platform(i386).