如何确定Linux系统是32位还是64位?

  • 回答 (2)
  • 关注 (0)
  • 查看 (185)

当我键入时uname -a,它会提供以下输出。

Linux mars 2.6.9-67.0.15.ELsmp #1 SMP Tue Apr 22 13:50:33 EDT 2008 i686 i686 i386 GNU/Linux

我怎么知道给定的操作系统是32位或64位?

编写configure脚本时这很有用。

嗝屁嗝屁提问于
秋之夕颜清念念不忘,必有回响回答于

果你正在运行一个64位的平台,你会在uname -a 的输出中看到x86_64或类似的东西

要运行您的特定机器硬件名称

uname -m

你也可以

getconf LONG_BIT

它返回32或64

MyLove回答于

试试uname -m。这是缺少的uname --machine,它输出:

x86_64 ==> 64-bit kernel
i686   ==> 32-bit kernel

否则,不是针对Linux内核,而是针对CPU,请键入:

cat /proc/cpuinfo

要么:

grep flags /proc/cpuinfo

在“flags”参数下,您会看到各种值:请参阅“ / proc / cpuinfo中的标志是什么意思? ”其中一个名称为lm:Long Mode(x86-64:amd64,也称为Intel 64,即64位能)

lm ==> 64-bit processo

或者使用lshw(如萨克森的Rolf 下面提到的),没有(只是为了刷新CPU宽度):sudo

lshw -class cpu|grep "^       width"|uniq|awk '{print $2}'

注意:你可以安装一个32位内核的64位CPU。

(正如ysdx在他/她自己的回答中提到的那样,“现在,一个系统可以是多元的,所以它无论如何也没有意义,你可能想要找到编译器的默认目标”)

扫码关注云+社区

领取腾讯云代金券