我如何知道我正在运行的是 32 位还是 64 位 Linux?

我如何知道我正在运行的是 32 位还是 64 位 Linux?

在不同的发行版中运行的命令是什么?

答案1

“uname -m” 是您要查找的命令。您可以在现代英特尔和 AMD 处理器上运行 32 位和 64 位,因此“uname -p”不会对您有帮助(此外,现在它大多不起作用,这里的 core2 认为对“uname -p”的响应是“未知”)。

查找 /usr/lib64 是否存在(如建议的那样)也无济于事,因为一些与硬件和系统相关的软件包会同时安装 32 位和 64 位库以保证安全。在我的 (debian) 系统上,fakeroot 软件包就是这么做的。

至于“uname -m”的输出,如果它是 i386 或 i686,则是 32 位,如果它是 x86_64(或 alpha、ia64 或一些我从未见过的其他 64 位架构:)则是 64 位。

(有趣的是,我的 64 位 FreeBSD 服务器返回“amd64”,这对于英特尔四核来说可能有点奇怪,但如果你知道 x86 64 位架构的历史,那就完全可以理解了)

答案2

uname -a 并查找 x86_64。如果您想知道您的 CPU 是否可以处理 64 位,请 cat /proc/cpuinfo 并在标志内查找 lm。

答案3

对于 RedHat/CentOS:

$ uname -a
Linux cs-centos 2.6.18-92.1.22.el5 #1 SMP Tue Dec 16 12:03:43 EST 2008 i686 athlon i386 GNU/Linux

32 位

  • i686和/或i386

64 位

  • 将有x86_64uname -a输出

答案4

$> getconf LONG_BIT 答案:32 或 64。

相关内容