LinuxサーバーやPCを管理していると「このマシンは32bit?それとも64bit?」と確認したい場面がよくありますよね。
こんな場面で必要になります
- ソフトウェアをインストールするとき、どのパッケージを選べばいいかわからない
- 64bit版アプリを入れたいけど、ちゃんと動くか心配
- メモリを4GB以上増設したいが、対応しているか知りたい
- 仮想マシンを作るときのアーキテクチャを決めたい
こんなとき、Linuxなら簡単なコマンドですぐに確認できます。
この記事では、CPU(ハードウェア)とOS(カーネル)の両方のビット数を調べる方法を、初心者にもわかりやすく紹介します。コマンドをコピペして試すだけで、すぐに結果がわかりますよ!
なぜ32bitと64bitを区別する必要があるの?

基本的な違い
32bitシステム
- 扱えるメモリは最大4GB程度
- 古いソフトウェアとの互換性が高い
- 処理速度は64bitより遅い場合が多い
64bitシステム
- 扱えるメモリは理論上無制限(実際は数TB~数百TB)
- 新しいソフトウェアは64bit版が主流
- 処理速度が速く、セキュリティ機能も充実
確認が必要な理由
LinuxではCPUが64bit対応でも、32bitのOSを動かすことができます。逆に、32bitのCPUでは64bitのOSは動きません。
そのため、以下の3つを分けて確認する必要があります:
- CPUが64bitに対応しているか(ハードウェア)
- 現在動いているOSが32bitか64bitか(カーネル)
- アプリケーションが動く環境が32bitか64bitか(ユーザー空間)
OS(カーネル)が32bitか64bitかを確認する方法
uname -m:最も簡単な方法
もっともシンプルで覚えやすいのがuname -m
コマンドです。
uname -m
出力例とその意味
64bitの場合
x86_64
32bitの場合
i686
または
i386
ARM系の場合
aarch64 # 64bit ARM
armv7l # 32bit ARM
uname -a:詳細情報も含めて確認
より詳しい情報を見たい場合は:
uname -a
出力例
Linux myserver 5.4.0-74-generic #83-Ubuntu SMP Sat May 8 02:35:39 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
この場合、3つのx86_64
が表示されています:
- CPUアーキテクチャ
- カーネルアーキテクチャ
- ハードウェアプラットフォーム
すべてx86_64
なので、完全な64bit環境だとわかります。
CPU(ハードウェア)が64bitに対応しているか確認する方法

lscpu:CPU情報を詳しく表示
CPU自体が64bit対応かを知るにはlscpu
が便利です。
lscpu
出力例(64bit対応CPU)
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
Model name: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
重要な項目
- Architecture: x86_64 → 64bitアーキテクチャ
- CPU op-mode(s): 32-bit, 64-bit → 32bitと64bit両方で動作可能
32bitのみ対応の場合
Architecture: i686
CPU op-mode(s): 32-bit
/proc/cpuinfoで詳細確認
より詳しいCPU情報を見たい場合:
cat /proc/cpuinfo | grep flags
出力の中にlm
(Long Mode)があれば、64bit対応CPUです。
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm ...
ユーザー空間のビット幅を確認する方法
getconf:実行環境のビット数
現在動いているアプリケーション環境が32bitか64bitかを確認するには:
getconf LONG_BIT
出力
64 # 64bit環境
または
32 # 32bit環境
これは現在動いているユーザー空間が32bitか64bitかを教えてくれます。
file:実行ファイルのアーキテクチャ確認
特定のプログラムが32bitか64bitかを確認したい場合:
file /bin/bash
出力例
/bin/bash: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked
64-bit
と表示されているので、このbashは64bit版です。
実際の確認手順:まとめて実行
以下のコマンドを順番に実行すれば、システム全体の状況がわかります:
# 基本情報
echo "=== システム情報 ==="
uname -a
echo -e "\n=== CPUアーキテクチャ ==="
uname -m
echo -e "\n=== CPU詳細情報 ==="
lscpu | grep -E "(Architecture|CPU op-mode)"
echo -e "\n=== ユーザー空間のビット数 ==="
getconf LONG_BIT
echo -e "\n=== カーネルのビット数確認 ==="
file /proc/version
このスクリプトをコピペして実行すれば、必要な情報が一度に確認できます。
ディストリビューション別の追加確認方法

Ubuntu/Debian系
# パッケージアーキテクチャの確認
dpkg --print-architecture
# インストール可能なアーキテクチャ
dpkg --print-foreign-architectures
Red Hat/CentOS系
# システムアーキテクチャ
rpm --eval %{_arch}
# インストール済みパッケージのアーキテクチャ確認
rpm -qa --qf "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n" | head -5
Arch Linux
# システムアーキテクチャ
pacman -Q linux | head -1
よくある質問と答え

Q:CPUが64bitなのに、32bitOSを使う意味はありますか?
A:メモリが4GB以下で、古いソフトウェアを使う必要がある場合は有効です。ただし、現在では64bitOSが推奨されます。
Q:32bitと64bitのソフトウェアを同じシステムで使えますか?
A:64bitOSなら、32bitソフトウェアも動作させることができます(MultiArchサポート)。逆は不可能です。
Q:仮想マシンで32bitOSを64bit上で動かせますか?
A:はい、64bitホストOS上で32bitゲストOSを動かすことは可能です。
Q:Raspberry Piではどう確認すればいいですか?
A:同じコマンドが使えます。Raspberry Pi 4以降ならaarch64
(64bit ARM)が表示される場合が多いです。
確認結果の活用方法
ソフトウェアインストール時
64bit環境の場合
- 64bit版パッケージを優先的に選択
- メモリを多く使うアプリケーションも安心して利用可能
32bit環境の場合
- 32bit版パッケージを選択
- メモリ使用量に注意が必要
システム設定時
64bit環境
- 仮想メモリの設定を大きくできる
- 大きなデータベースやファイルを扱える
32bit環境
- メモリ効率を重視した設定が必要
- スワップの設定を慎重に行う
まとめ:Linuxのビット数確認は簡単
この記事で紹介した主要コマンド
確認したいこと | コマンド | 出力例 |
---|---|---|
カーネルのアーキテクチャ | uname -m | x86_64 (64bit)、i686 (32bit) |
CPU詳細情報 | lscpu | CPU op-mode(s): 32-bit, 64-bit |
ユーザー空間のビット数 | getconf LONG_BIT | 64 または32 |
全体的なシステム情報 | uname -a | 詳細なシステム情報 |
覚えておくポイント
- CPUが64bit対応でも32bitOSを動かせる
- 32bitCPUでは64bitOSは動かない
- ソフトウェア選択時はOSのビット数を基準にする
- メモリ増設時は64bit環境が有利
これらのコマンドを覚えておけば、「どのパッケージを入れればいいか」「アプリが64bit版で動くか」をすぐに判断できます。
コメント