私のシステムは 64 ビットですか?

私のシステムは 64 ビットですか?
uname -m

私に与えてくれる

x86_64

、しかし

getconf LONG_BIT

与える

32

私のシステムは 64 ビットですか、それとも 32 ビットですか? (Gentoo ですが、ルート アクセス権がありません)

答え1

CPU は 64 ビットです。カーネルは 64 ビットです。他に 32 ビットのものもありますが、どれが 32 ビットかはわかりません。おそらく、getconfパスの最初にあるのが 32 ビットです。/usr/libexec/getconf手がかりを探してください。

アップデート: 主に 32 ビットのユーザー スペースがあるようです。 4 GB を超える物理メモリのサポートを得るために、誰かが 64 ビット OS をインストールしたのかもしれません。 64 ビットの実行可能ファイルもいくつかあるのかもしれません。 しかし、混在環境であることは明らかです。

答え2

x86_64 と表示される場合は、64 ビットであることを意味しますarch。LONG_BIT が 32 になるのは、使用しているアプリケーションの一部が 32 ビットであるためです。この場合は、gcc が 32 ビットとしてコンパイルされている可能性があります。

つまり、Arch は実際には 64 ビットであり、64 ビット アプリケーションを実行できますが、32 ビット gcc がインストールされています。

答え3

Gentooでmake.confを読むためにルートアクセスが必要かどうかは覚えていませんが、試してみてください

grep CHOST /etc/make.conf

あなたが取得する場合

CHOST="x86_64-pc-linux-gnu"

これで、システムは64ビットパッケージをコンパイルしてインストールするように設定されます。

CHOST="i686-pc-linux-gnu"

これで、システムは 32 ビット用に設定されます。

どちらも取得できない場合は、ルート権限が必要になる可能性があります。ただし、unameあなたのシステムを考慮すると、64 ビットであると思われます。

関連情報