系统相关
首页 > 系统相关> > 如何确定给定的Linux是32位还是64位?

如何确定给定的Linux是32位还是64位?

作者:互联网

当我键入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位?

这在编写配置脚本时很有用,例如:我构建的架构是什么?

解决方法:

尝试uname -m.缺少uname –machine,它输出:

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

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

cat /proc/cpuinfo

要么:

grep flags /proc/cpuinfo

在“flags”参数下,您将看到各种值:请参阅“What do the flags in /proc/cpuinfo mean?
其中一个名为lm:Long Mode(x86-64:amd64,也称为Intel 64,即64位)

lm ==> 64-bit processor

using lshw(如below Rolf of Saxony所述),没有sudo(仅用于获取cpu宽度):

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

注意:您可以安装具有32位内核的64位CPU.
(正如his/her own answerhis/her own answer中提到的那样,“现在,系统可以是multiarch,所以它无论如何都没有意义.你可能想要找到编译器的默认目标”)

标签:32bit-64bit,processor,linux,shell
来源: https://codeday.me/bug/20190916/1807501.html