Linux カーネルが 32 ビットで実行されているか、64 ビットで実行されているかを知るにはどうすればよいですか?

Linux カーネルが 32 ビットで実行されているか、64 ビットで実行されているかを知るにはどうすればよいですか?

/proc/cpuinfoでcatを実行すると、clflushsize : 64の行が表示されます。

これはカーネルが 64 ビットで実行されていることを意味しますか?

答え1

uname -a

カーネルがわかります - 最後のビットはアーキテクチャを示します。

2つの例:

私の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

このヒント

getconflibc-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

関連情報