İş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.