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

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

当我在 /proc/cpuinfo 中执行 cat 时,它显示一行 clflushsize : 64

这是否意味着我的内核以 64 位运行?

答案1

uname -a

将告诉您内核 - 最后的位告诉您架构。

两个例子:

我的Mac:

Darwin Mac.local 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386

我的 Dreamhost 托管:

Linux ecco 2.6.24.5-serf-xeon-c6.1-grsec #1 SMP Tue Oct 7 06:18:04 PDT 2008 x86_64 GNU/Linux

i386 = 32 位

x86_64 = 64 位

答案2

uname -m将为您提供内核编译所针对的体系结构。如果打印,i686则您的内核是 32 位的,如果x86_64打印,则为 64 位的(假设您使用的是 Intel/AMD 芯片)。

答案3

我认为最精确的方法是

getconf LONG_BIT

这恰恰表明64

发现于此提示

getconf来自软件包 libc-bin(在 ubuntu 上)

答案4

如果你只想查看你正在运行的平台,你可以使用

uname -i

受支持选项的完整列表uname

$ uname --help
Usage: uname [OPTION]...
Print certain system information.  With no OPTION, same as -s.

  -a, --all                print all information, in the following order,
                             except omit -p and -i if unknown:
  -s, --kernel-name        print the kernel name
  -n, --nodename           print the network node hostname
  -r, --kernel-release     print the kernel release
  -v, --kernel-version     print the kernel version
  -m, --machine            print the machine hardware name
  -p, --processor          print the processor type or "unknown"
  -i, --hardware-platform  print the hardware platform or "unknown"
  -o, --operating-system   print the operating system
      --help     display this help and exit
      --version  output version information and exit

相关内容