如何确定Linux内核架构?

use*_*914 144 linux command-line x86 cpu-architecture

uname -muname -m在 Red Hat Enterprise Linux Server 5.4 (Tikanga) 机器上给出 i686 和i686 i386 输出。我需要在那台机器上安装 Oracle 数据库 10g 第 2 版。那么,如何确定内核架构是 32 位还是 64 位?

Beh*_*ooz 132

i386 和 i686 都是 32 位的。
x86_64 是 64 位

64位示例:

behrooz@behrooz:~$ uname -a  
Linux behrooz 2.6.32-5-amd64 #1 SMP Mon Mar 7 21:35:22 UTC 2011 **x86_64** GNU/Linux
Run Code Online (Sandbox Code Playgroud)

编辑:
看看我的 linux ARM 是 32 位还是 64 位?用于 ARM

  • 尝试:`uname -m`。那只会显示架构。 (11认同)
  • arm64 称为 aarch64 (4认同)

PHP*_*Pst 76

这很简单!使用arch命令。

  • 奇怪的是……在我的 2013 MacBook Pro 上,`arch` 返回 `i386`,但 `uname -a` 显示 `x86_64`。 (10认同)
  • @turboladen “为什么 uname 和 arch 的输出不同?” = http://superuser.com/questions/835514/why-do-uname-p-and-uname-m-and-arch-output-different-architectures (5认同)
  • `arch` 是 `uname -m` (2认同)
  • 具有讽刺意味的是,Arch 上并没有预安装“arch”。请改用 `uname -m`。它为我返回 `x86_64` (2认同)

xen*_*ide 34

@behrooz是正确的。不幸的是,uname您需要了解架构。实际上,我正在寻找架构列表,我发现这篇文章可以回答您的问题。关于uname -m

x86_64 GNU/Linux 表示您运行的是 64 位 Linux 内核。如果您使用 i386/i486/i586/i686,它是一个 32 位内核。

确定硬件是否能够运行 64 位内核

grep flags /proc/cpuinfo
Run Code Online (Sandbox Code Playgroud)

在输出中查找以下内容(从这个 stackoverflow 答案中检索到的所有标志对同一问题)

  • lm 标志表示长模式 CPU - 64 位 CPU
  • tm 标志表示保护模式 - 32 位 CPU
  • rm 标志表示实模式 - 16 位 CPU

  • @penguin359,不,但确定您的操作系统是否运行 64 位,如果不是,如果硬件有能力,imo 通常很有用 (2认同)

小智 31

对于Debian

在我的电脑上

    ~ > dpkg --print-architecture
    amd64
    ~ > dpkg --print-foreign-architectures
    i386

我的树莓派 2

    ~ > dpkg --print-architecture
    阿姆哈夫

  • 这在确定要与 `checkinstall` 一起使用的包架构时效果最好,谢谢! (2认同)
  • 谢谢你。我一直在寻找可以删除“标准”“amd64”/“i386”架构名称而不仅仅是“x86_64”的东西。在命名预编译版本时,没有人使用该术语。 (2认同)

dan*_*nyw 13

最简单的方法是运行:

getconf LONG_BIT
Run Code Online (Sandbox Code Playgroud)

它将输出 64 或 32,具体取决于它是 32 位还是 64 位。

例如:

dannyw@dannyw-redhat:~$ getconf LONG_BIT
64
Run Code Online (Sandbox Code Playgroud)

  • 这个答案有误导性。如果您启用多架构支持并在 32 位安装上安装 64 位内核,尽管您运行的是 64 位内核,`getconf LONG_BIT` 将打印 `32`。 (3认同)

Ada*_*dam 5

还有lscpu:显示CPU架构信息

\n
lscpu\nArchitektura:                    x86_64\nTryb(y) pracy CPU:               32-bit, 64-bit\nKolejno\xc5\x9b\xc4\x87 bajt\xc3\xb3w:                Little Endian\nAddress sizes:                   39 bits physical, 48 bits virtual\nCPU:                             8\nLista aktywnych CPU:             0-7\nW\xc4\x85tk\xc3\xb3w na rdze\xc5\x84:                 2\nRdzeni na gniazdo:               4\nGniazd:                          1\nW\xc4\x99z\xc5\x82\xc3\xb3w NUMA:                     1\nID producenta:                   GenuineIntel\nRodzina CPU:                     6\nModel:                           60\nNazwa modelu:                    Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz\nWersja:                          3\nCPU MHz:                         3392.293\nCPU max MHz:                     3900,0000\nCPU min MHz:                     800,0000\nBogoMIPS:                        6784.24\nWirtualizacja:                   VT-x\nCache L1d:                       128 KiB\nCache L1i:                       128 KiB\nCache L2:                        1 MiB\nCache L3:                        8 MiB\nProcesory w\xc4\x99z\xc5\x82a NUMA 0:          0-7\n
Run Code Online (Sandbox Code Playgroud)\n