프로세서가 64 또는 32 비트입니까?


41

나는 우분투에 있고 다음 명령을 수행했습니다.

$ 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

인터넷 검색에서 프로세서 문제라고 생각했습니다. 어떤 아이디어?


링크를 확인하십시오 . 문제에 대한 자세한 설명이 제공됩니다.
Prateek

답변:


32

이는 32 비트 커널을 실행 중임을 의미합니다. 즉 에뮬레이터 또는 가상화를 사용하지 않고 32 비트 앱만 실행할 수 있습니다.

프로세서가 64 비트인지 확인하려면에 lm나열된 플래그 를 찾으십시오 /proc/cpuinfo.


27
또한 lscpu사용할 수 있으며 더 친절합니다.
enzotib

@Ignacio 그래서 32 비트 프로세서가 있는데 64 비트 용으로 무언가를 실행해야합니다. 그게 가능합니까?
Genadinik

4
나는 이그나시오는 아니지만 일반적으로 그렇지 않습니다. 그러나 32 비트 플랫폼에서 64 비트 시스템을 에뮬레이트 할 수있는 제품을 사용하여 VM을 설치할 수 있습니다.
Eduardo I.

VM보다 훨씬 가벼운 것은 QEMU와 트위닝 된 chroot 또는 lxc 컨테이너입니다. 그것은 모두 당신이 정말로 필요한 것에 달려 있습니다.
Ken Sharp

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 : 아키텍처 필드는 프로세서가 아닌 커널을 나타냅니다. 더 명확하게 답변을 편집했습니다.
Eric Johnson

7

file :을 사용하여 실행하려는 바이너리의 아키텍처를 확인할 수도 있습니다 file filetocheck. 32 비트 또는 64 비트를 언급합니다.


이것이 가장 먼저 확인되어야합니다. 👍
Ken Sharp

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_64cpu가 64 비트임을 의미합니다.


1
이것이 항상 올바른 것은 아닙니다.
Braiam

2
@Braiam : 이유를 설명 할 수 있다면 좋을 것입니다.
jobin

5
@Jobin : uname 은 CPU가 아니라 실행중인 커널에 관한 정보를 인쇄합니다. 예를 들어 64 비트 CPU에서 32 비트 커널을 실행할 수 있습니다.
Cristian Ciupitu

확실히 틀 렸습니다.
Ken Sharp
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.