「ソフトウェアをダウンロードしようとしたら、32bit版と64bit版があった…」 「メモリを増設したいけど、32bitだと4GBまでしか使えないって本当?」 「Dockerイメージを選ぶ時、どっちのアーキテクチャか分からない」
こんな場面で困ったことはありませんか?
実は、Linuxのビット数(32bit/64bit)はたった1つのコマンドで確認できます。この記事では、初心者向けから上級者向けまで、7つの確認方法を紹介します。
5秒後には、あなたのLinuxが何ビットか分かっているはずです!
最速確認:この3つのコマンドで即解決

方法1:unameコマンド(最も簡単)
uname -m
結果の読み方:
x86_64
→ 64bit ✅i686
→ 32biti386
→ 32bitaarch64
→ 64bit (ARM)armv7l
→ 32bit (ARM)
もっと詳しく見たい場合:
uname -a
# 結果例:
# Linux hostname 5.15.0-88-generic #98-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux
# ↑ここが64bit
方法2:archコマンド(シンプル)
arch
結果:
x86_64
→ 64biti686
→ 32bit
方法3:lscpuコマンド(詳細情報)
lscpu | grep "Architecture"
結果例:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
これで64bitと確認できました!
なぜ64bitが重要?32bitとの違い
簡単に理解する3つの違い
項目 | 32bit | 64bit |
---|---|---|
メモリ上限 | 最大4GB(実質3.5GB) | 理論上16EB(無限大) |
処理性能 | 一度に32ビット処理 | 一度に64ビット処理(2倍) |
ソフトウェア | 32bitアプリのみ | 32bit/64bit両方動作可能 |
つまり:
- 64bitなら大容量メモリを活用できる
- 64bitの方が処理が速い
- 64bitでも32bitソフトは動く(互換性あり)
詳細確認:より多くの情報を取得する方法
方法4:/proc/cpuinfoから確認
# CPUフラグを確認
grep flags /proc/cpuinfo | head -1 | grep -o lm
結果:
lm
が表示される → 64bit対応CPU- 何も表示されない → 32bitのみ
詳細な確認:
# CPUの詳細情報
cat /proc/cpuinfo | grep -E "model name|flags" | head -2
方法5:getconfコマンド
# ワードサイズを確認
getconf WORD_BIT
結果:
32
→ 32bit64
→ 64bit
より詳しく:
# ロングワードのビット数
getconf LONG_BIT
# 結果: 64 (64bitシステム)
方法6:fileコマンドで実行ファイルを確認
# システムの基本コマンドをチェック
file /bin/ls
結果例(64bit):
/bin/ls: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV)
↑ ここが64bit
結果例(32bit):
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV)
方法7:dpkg/rpmでパッケージアーキテクチャ確認
Debian/Ubuntu系:
dpkg --print-architecture
結果:
amd64
→ 64biti386
→ 32bit
RedHat/CentOS系:
rpm -q --qf '%{ARCH}\n' rpm
結果:
x86_64
→ 64biti686
→ 32bit
OSとカーネルのビット数を両方確認
包括的なチェックスクリプト
#!/bin/bash
# check_architecture.sh
echo "=== システムアーキテクチャ確認 ==="
echo
echo "1. 基本アーキテクチャ:"
echo " $(uname -m)"
echo
echo "2. CPUアーキテクチャ:"
lscpu | grep -E "Architecture|CPU op-mode|Address sizes"
echo
echo "3. カーネル情報:"
uname -r
file /boot/vmlinuz-$(uname -r) 2>/dev/null | grep -o "x86-64\|80386"
echo
echo "4. 実行可能ファイル:"
file /bin/bash | grep -o "64-bit\|32-bit"
echo
echo "5. インストール済みパッケージ:"
if command -v dpkg &> /dev/null; then
echo " Debian/Ubuntu: $(dpkg --print-architecture)"
elif command -v rpm &> /dev/null; then
echo " RedHat/CentOS: $(rpm -q --qf '%{ARCH}\n' rpm)"
fi
echo
# 判定
if [[ $(uname -m) == "x86_64" ]]; then
echo "✅ このシステムは 64bit です"
else
echo "📌 このシステムは 32bit です"
fi
ディストリビューション別の確認方法
Ubuntu/Debian
# システム情報を一括表示
lsb_release -a && uname -m
# または
hostnamectl | grep Architecture
CentOS/RHEL/Fedora
# システム情報
cat /etc/redhat-release && uname -m
# または
hostnamectl
Arch Linux
# pacmanでアーキテクチャ確認
pacman -Qi pacman | grep Architecture
Alpine Linux
# APKでアーキテクチャ確認
apk --print-arch
Dockerコンテナ内での確認
コンテナのアーキテクチャ確認
# コンテナ内で実行
uname -m
# ホストから確認
docker inspect container_name | grep Architecture
# 実行中の全コンテナのアーキテクチャ
docker ps -q | xargs docker inspect --format '{{.Name}}: {{.Architecture}}'
マルチアーキテクチャ対応の確認
# Dockerがサポートするアーキテクチャ一覧
docker buildx ls
# 現在のビルダーの詳細
docker buildx inspect
仮想マシンでの注意点
VMware/VirtualBoxでの確認
# ゲストOSのアーキテクチャ
uname -m
# 仮想化の確認
lscpu | grep Virtualization
# ハイパーバイザーの検出
systemd-detect-virt
重要: 64bitホストでも32bitゲストOSを動かせます!
よくある質問と回答
Q: x86_64とamd64は同じ?
A: はい、同じ64bitアーキテクチャです。
x86_64
: 一般的な呼称amd64
: DebianやUbuntuでの呼称x64
: Windowsでの呼称
全て同じ意味です!
Q: 64bit CPUで32bit OSは動く?
A: はい、動きます。ただし:
- メモリは4GBまでしか使えない
- 64bit専用ソフトは動かない
- パフォーマンスが劣る可能性
Q: 32bitから64bitに変更できる?
A: OSの再インストールが必要です。
# 現在のシステムをバックアップ
tar -czf backup.tar.gz /home /etc /var
# 新規に64bit OSをインストール
# データを復元
パフォーマンステスト:32bit vs 64bit
簡単なベンチマーク
# 整数演算のテスト
time echo "scale=5000; 4*a(1)" | bc -l
# メモリアクセステスト
dd if=/dev/zero of=/dev/null bs=1M count=10000
# 結果:64bitの方が約30%高速
トラブルシューティング
問題1:32bitアプリが64bit環境で動かない
# 32bitライブラリをインストール
# Ubuntu/Debian
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libc6:i386
# CentOS/RHEL
sudo yum install glibc.i686
問題2:メモリが4GB以上認識されない
# PAEカーネルか確認
grep -i pae /proc/cpuinfo
# カーネルのメモリ上限確認
cat /proc/meminfo | grep MemTotal
セキュリティの観点
64bitの方が安全な理由
- **ASLR(アドレス空間配置のランダム化)**が強力
- NXビットでコード実行を防止
- より多くのセキュリティ機能が利用可能
# セキュリティ機能の確認
grep -E "nx|pae|sse2" /proc/cpuinfo | head -1
まとめ:もう迷わない!一発確認コマンド集
超簡単確認(これだけ覚えればOK):
uname -m # x86_64なら64bit
詳細確認が必要なら:
lscpu | grep Architecture
全情報を見たいなら:
uname -a && lscpu && getconf LONG_BIT
今日マスターしたポイント:
✅ uname -mが最速・最簡単 ✅ x86_64 = 64bitを覚える ✅ lscpuで詳細情報取得 ✅ 64bitならメモリ制限なし ✅ 64bitでも32bitアプリ動作可能 ✅ file /bin/lsでバイナリ確認 ✅ コンテナでも同じ方法で確認OK
もう「32bit?64bit?」で悩むことはありません!
適切なソフトウェアを選んで、Linuxライフを楽しみましょう!
関連して読みたい:
- Linuxカーネルのアップグレード方法
- 32bitから64bitへの移行ガイド
- マルチアーキテクチャ環境の構築
コメント