İşlemcim 64 veya 32 bit mi?


41

Ubuntu'dayım ve şu komutu yaptım:

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

Bu, 32 bit veya 64 bit işlemci olduğum anlamına mı geliyor?

Bunu anlamaya çalışmamın sebebi şuna benzer hatalar almamdı:

cannot execute binary file

ve Googling’ten, bunun bir işlemci sorunu olduğunu düşündüm. Herhangi bir fikir?


Bu bağlantıya göz atın . Sorununuzun ayrıntılı bir açıklaması verilmiştir.
Prateek

Yanıtlar:


32

Bu, 32 bit bir çekirdek çalıştırdığınız anlamına gelir; bu, bir emülatör veya sanallaştırma kullanmadan yalnızca 32 bit uygulamaları çalıştırabileceğiniz anlamına gelir.

İşlemcinizin 64-bit olup olmadığını görmek istiyorsanız, lmiçinde listelenen bayrakları arayın /proc/cpuinfo.


27
Ayrıca lscpukullanılabilir ve daha dosttur.
enzotib

@Ignacio Bu yüzden 64-bit için yapılmış bir şeyi çalıştırmanız gereken 32-bit bir işlemcime sahibim. Bu mümkün mü?
Genadinik

4
Ben Ignacio değilim, ama genelde değil. Yine de, 32 bitlik bir platformda 64 bitlik bir sistemi taklit etmenize izin veren bir ürün kullanarak bir VM yükleyebilirsiniz.
Eduardo I.

Bir VM'den çok daha hafif olan ağırlık, QEMU ile ikizlenmiş bir kroşe veya bir lxc kabıdır. Her şey gerçekten ihtiyacınız olana bağlı.
Ken Sharp

84

Kullanabilirsiniz 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

Mimarlık alanının daha fazla açıklaması:

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: mimarlık alanı işlemciyi değil çekirdeği belirtir. Daha net olması için cevabımı düzenlemiştim.
Eric Johnson

7

Çalıştırmaya çalıştığınız binary mimarisini de dosya kullanarak kontrol edebilirsiniz file filetocheck. 32 bit veya 64 bit diyecektir.


Bu kontrol edilen ilk şey olmalı. 👍
Ken Sharp

3

Temel fikir:

x86_64 64 bit cpu özelliğine sahiptir ve i386 32 bit'tir.

Lscpu ile

Uzun cevap: 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

Kısa cevap lscpu | awk '/CPU op-mode/ {print}

Çıktı : CPU op-mode(s): 32-bit, 64-bit

Lshw ile

Uzun cevap: koş sudo lshw

Biraz daha kısa cevap: sudo lshw -c cpu

Çıktı:

 *-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

Daha kısa cevap: sudo lshw -c cpu | grep width

Çıktı: width: 64 bits


2

uname -pİşlemcinin mimarisini verir. Eğer verirse x86_64, cpu 64 bit demektir.


1
Bu her zaman doğru değildir, tho.
Braiam,

2
@Braiam: Nedenini açıklarsanız çok iyi olur.
jobin

5
@Jobin: uname , çalışan çekirdeğe ilişkin bilgileri yazdırır, CPU'yu değil. Örneğin, 64 bit CPU'da 32 bit bir çekirdek çalıştırabilirsiniz.
Cristian Ciupitu

Bu kesinlikle yanlıştır.
Ken Sharp,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.