如果系统显示“i686”,如何知道“cpu”硬件是32位还是64位?

如果系统显示“i686”,如何知道“cpu”硬件是32位还是64位?

我的硬件是 64 位还是 32 位?

这是我的 lscpu 命令的输出:

Mint ~ # lscpu
Architecture:          i686
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 60
Stepping:              3
CPU MHz:               3498.029
BogoMIPS:              6996.05
Hypervisor vendor:     VMware
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              8192K

如您所见,我的架构是 32 位 i686。但它还具有 32 位和 64 位操作模式。这怎么可能呢。

另外,在 /proc/cpuinfo 中你可以看到 lm 被列出

flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss nx pdpe1gb rdtscp lm constant_tsc arch_perfmon xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm arat xsaveopt fsgsbase tsc_adjust bmi1 avx2 smep bmi2 

那么我的 CPU 是 32 位还是 64 位?

答案1

i686 表示您正在使用 32 位操作系统。在终端中输入uname -a。这是因为有些版本的 CPU 可以寻址超过 4GB(2^32)的 RAM。但这并不意味着 CPU 就是 64 位的。

你可以看看这个答案。这个问题在这里有详细的回答: Linux 上的 32 位、64 位 CPU 操作模式

我希望这有帮助。

相关内容