GNU/Linux >> Linux の 問題 >  >> Linux

ハードウェアと OS のビット数を確認する方法は?

ハードウェア、カーネル、およびユーザー空間プログラムは、ワード サイズが異なる場合があります¹。

  • CPU 07 をチェックすることにより、64 ビット、32 ビット、またはその両方が可能です。 15 の行 .アーキテクチャファミリで可能なフラグを知っておく必要があります。たとえば、i386/amd64 プラットフォームでは、28 フラグは、amd64 対応の CPU を識別します (そのフラグを持たない CPU は i386 のみです)。

      grep -q '^flags *:.*\blm\b' /proc/cpuinfo    # Assuming a PC
    
  • 30 でアーキテクチャをクエリすると、カーネルが 32 ビットか 64 ビットかを確認できます。 .例:46 56 の間は 32 ビットです 64ビットです。いくつかのアーキテクチャでは、64 ビットのカーネルで 32 ビットのユーザーランド プログラムを実行できることに注意してください。 は 64 ビット カーネルを示していますが、64 ビット ライブラリが利用できるという保証はありません。

      [ "$(uname -m)" = "x86_64" ]    # Assuming a PC
    
  • 71 を使用して LSB サポートを照会することにより、ユーザーランドで利用可能なものを確認できます。 指図。より正確には、86 91 を出力します - サポートされている LSB 機能のリスト。各機能の形式は 103 です .たとえば、ix86 C ライブラリの可用性は 116 で示されます。 、 122 の間 amd64 のアナログです。ただし、すべてのディストリビューションが利用可能な LSB モジュールをすべて宣言しているわけではないため、この方法で検出できるよりも多くのモジュールが利用可能である可能性があります。

  • 136 のようなコマンドを使用して、システム上のどのアーキテクチャ プログラムが構築されているかを確認できます。 .混合システムを持つことも可能であることに注意してください。 143 であっても が 64 ビット プログラムである場合、システムには 32 ビット プログラムを実行するためのライブラリがインストールされている場合があり、(あまり一般的ではありませんが) その逆もあります。

  • 154 を出力する 5 行の C プログラムをコンパイルすることで、開発に適したワード サイズを見つけることができます (C コンパイラが利用可能であると仮定します)。 または 169 .コマンド 176 を実行すると、少し信頼性の低い方法で同じ情報を取得できます²。 .

      #include <stdio.h>
      int main() {
          printf("%d\n", (int)sizeof(void*));
          return 0;
      }
    

仮想マシンに関しては、32 ビット システムで 64 ビット VM を実行できるか、またはその逆が可能かは、仮想マシン テクノロジによって異なります。具体的には、32 ビット Linux に 64 ビット Linux 仮想マシンをインストールするにはどうすればよいですか?

¹ 「ワードサイズ」は、ビットネスと呼ばれるものの通常の名前です。
² システムのデフォルト 186 のままで、別のターゲット アーキテクチャを持つ別の C コンパイラを誰かがインストールした場合、信頼できない可能性があります。 .


Linux
  1. Debian –64ビットのDebian/ ubuntuで32ビットのプログラムを実行する方法は?

  2. Linux Mint 20 でシステムとハードウェアの詳細を表示する方法

  3. 特定の Linux が 32 ビットか 64 ビットかを判別する方法は?

  1. Linuxテストがどのように変化したか、そして今日重要なこと

  2. gcc/cmake を使用して 64 ビット Linux マシンで 32 ビット バイナリをコンパイルする方法

  3. Linux バイナリ ファイルが 32 ビットか 64 ビットかを判断する方法は?

  1. Linuxでシステムとハードウェアの情報を取得する方法

  2. Debian10でシステムとハードウェアの詳細を表示する方法

  3. 64ビットから32ビットにダウングレードする方法は?