プロセッサは64ビットですか、32ビットですか?


41

私はUbuntuで、次のコマンドを実行しました。

$ uname -a
Linux slabrams-desktop 2.6.32-29-generic #58-Ubuntu SMP Fri Feb 11 19:00:09 UTC 2011 i686 GNU/Linux

32ビットまたは64ビットプロセッサを使用しているということですか?

これを理解しようとしている理由は、次のようなエラーが表示されていたからです。

cannot execute binary file

そしてグーグルから、私はそれがプロセッサの問題だと思った。何か案は?


このリンクをご覧ください。問題の詳細な説明が提供されます。
プラテク

回答:


32

これは、32ビットカーネルを実行していることを意味します。つまり、エミュレーターまたは仮想化を使用せずに32ビットアプリのみを実行できます。

プロセッサが64ビットかどうかを確認する場合lmは、にリストされているフラグを探してください/proc/cpuinfo


27
またlscpu、使用することができ、より友好的です。
-enzotib

@Ignacioだから、64ビット用に作られた何かを実行する必要がある32ビットプロセッサを持っています。それはまったく可能ですか?
-Genadinik

4
私はイグナシオではありませんが、一般的にはそうではありません。ただし、64ビットシステムまたは32ビットプラットフォームをエミュレートできる製品を使用してVMをインストールできます。
エドゥアルドI.

VMよりもはるかに軽量なのは、chrootまたはQEMUでツイン化されたlxcコンテナーです。それはすべて、本当に必要なものに依存します。
ケンシャープ

84

を使用できますlscpu

someuser@somelaptop:~$ lscpu
Architecture:          i686           # <-- your kernel is 32 bit
CPU op-mode(s):        32-bit, 64-bit # <-- your cpu can handle 32 or 64 bit instructions
CPU(s):                4
Thread(s) per core:    2
Core(s) per socket:    2
CPU socket(s):         1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 37
Stepping:              5
CPU MHz:               1199.000
Virtualisation:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K

[アーキテクチャ]フィールドの詳細な説明:

X86, i686, or i386      means you are running a 32 bit kernel.
X86_64 , amd64 , or X64 means you are running a 64 bit kernel.

1
@slm:アーキテクチャフィールドは、プロセッサではなくカーネルを指します。答えを編集して、より明確にしました。
エリックジョンソン

7

file:を使用して、実行しようとしているバイナリのアーキテクチャを確認することもできますfile filetocheck。32ビットまたは64ビットのいずれかに言及します。


これが最初にチェックされるべきものです。👍
ケン・シャープ

3

基本的な考え方:

x86_64は64ビット対応のCPUであり、i386は32ビットです。

lscpuを使用

長い答え: lscpu

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                2
On-line CPU(s) list:   0,1
Thread(s) per core:    1
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             AuthenticAMD
CPU family:            17
Model:                 3
Stepping:              1
CPU MHz:               550.000
BogoMIPS:              4397.92
Virtualization:        AMD-V
L1d cache:             64K
L1i cache:             64K
L2 cache:              512K
NUMA node0 CPU(s):     0,1

短い答え lscpu | awk '/CPU op-mode/ {print}

出力: CPU op-mode(s): 32-bit, 64-bit

lshwを使用

長い答え:実行する sudo lshw

少し短い答え: sudo lshw -c cpu

出力:

 *-cpu                   
       description: CPU
       product: AMD Turion(tm) X2 Dual-Core Mobile RM-75
       vendor: Advanced Micro Devices [AMD]
       physical id: 4
       bus info: cpu@0
       version: Turion X2 Mobile RM-75
       slot: Socket M2/S1G1
       size: 550MHz
       capacity: 4GHz
       width: 64 bits
       clock: 200MHz
       capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp x86-64 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch osvw skinit hw_pstate lbrv svm_lock nrip_save vmmcall cpufr

さらに短い答え: sudo lshw -c cpu | grep width

出力: width: 64 bits


2

uname -pプロセッサのアーキテクチャを指定します。の場合x86_64、CPUが64ビットであることを意味します。


1
これは必ずしも正しいとは限りません。
Braiam 14

2
@ブライアム:理由を説明できたら素晴らしいと思います。
jobin 14

5
@Jobin:unameは、CPUではなく、実行中のカーネルに関する情報を出力します。たとえば、64ビットCPUで32ビットカーネルを実行できます。
クリスティアンシウピトゥ14年

それは間違いです。
ケンシャープ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.