大家好,又见面了,我是你们的朋友全栈君。
问题描述
检查我是使用32位还是64位Ubuntu。我查看了如何检查我是否拥有32位或64位操作系统?,发现此答案为uname -a。如果它显示为i386,它将是32位和amd64,它将是64位,但我得到了这个结果:
Linux mukund-ThinkPad-Edge-E431 3.8.0-35-generic #50-Ubuntu SMP Tue Dec 3 01:25:33 UTC 2013 i686 i686 i686 GNU/Linux
这是什么i686?它是32位还是64位 – 我认为它是32位,因为我安装的所有Debian软件包都是32位,所以请任何人详细解释一下。
最佳解决办法
i686意味着您正在使用32 bit OS。
Go into the terminal and type in.
uname -a
If your results are similar to the one below, then yours is 64-bit; otherwise, it is 32-bit.
Linux ubuntu-tm 2.6.35-28-generic #49-Ubuntu SMP Tue Mar 1 14:39:03 UTC 2011 x86_64 GNU/Linux
If you have the x86_64 then your machine is 64-bit.
If your results are similar to this one; then you have 32-bit.
Linux Server 2.6.15-23-386 #1 SMP Tue Mar 1 13:49:40 UTC 2011 i686 GNU/Linux
Notice the i686 in the code, that means your machine is 32-bit.
UPDATE:
Type in the following in the terminal;
uname -m
It will give you either x86_64, which is 64-bit, or something else, which is 32-bit.
也称为P6 microarchitecture,它是第六代Intel x86微架构,由Pentium Pro微处理器实现,于1995年11月推出.i686代码旨在在与32位Intel x86平台兼容的处理器上执行,包括所有英特尔32位x86处理器,包括奔腾4等,以及AMD和其他供应商生产兼容的32位芯片的处理器。
简而言之:
它只是意味着您运行的是32位内核,支持与i686处理器架构兼容的代码。
N.B:
这并不意味着您的系统只能运行32位内核,这只意味着您当前正在运行基于32位内核的操作系统。
次佳解决办法
i686是英特尔的P6微体系结构的简称,随Pentium Pro 1一起推出
简而言之,它是32位架构。 8086和80286甚至是16位处理器。 80386是第一款32位Intel处理器(除了Real模式外,还引入了保护工作模式)。 80586是着名的奔腾™。
i686广泛用于描述32位P6处理器架构,该架构与Pentium Pro /II兼容并具有指令集。例如,AMD K7(Duron™和Athlon™)是i686。
第三种解决办法
正如各种海报所说,你的内核是32位的。然而,i686的含义值得更多解释。
在编译Linux内核时(end-users目前通常不需要做的事情 – Ubuntu背后的好人提供内核就绪编译),你可以调整各种选项。一个重要的选项是CPU功能支持。
所有x86 CPU都与原始的Intel 80386(缩写为i386)兼容,因此如果你想要一个与所有x86 CPU兼容的内核,你就可以编译一个i386内核。
但是,现代CPU具有许多附加功能(集成浮点单元,MMX等),如果配置为Linux,Linux可以使用这些功能。作为向后兼容性和性能之间的平衡,Ubuntu的内核编译时支持Intel Pentium II(有时缩写为i686)上可用的功能,这就是内核显示为i686的原因。
这也部分解释了为什么为64位处理器编译的应用程序有时更快。 i686首次出现在1997年,现代处理器具有许多i686上没有的功能(SSE,额外寄存器等),但是应用程序需要编译时支持这些功能,这可能会破坏与旧系统的兼容性。相比之下,x86_64 CPU首次出现在2003年,因此可以编译应用程序,支持1997年到2003年之间引入的一些功能,而不用担心兼容性问题。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/133742.html原文链接:https://javaforall.cn