lscpu
mimarinizin i686 (Intel 32 bit CPU) olduğunu ve CPU'nuzun hem 32 bit hem de 64 bit çalışma modlarını desteklediğini söylüyor. Özellikle x64 mimarileri için oluşturulduklarından, x64 yerleşik uygulamalarını yükleyemezsiniz.
Özel CPU'nuz i386 veya i686 yerleşik paketlerini işleyebilir. Mimari ve işletim sistemi tercihlerinizi doğrulamanın birkaç yolu vardır.
Zaten bildiğiniz gibi, lscpu komutunu kullanabilirsiniz. CPU'nuzun neler yapabileceğine dair kaba bir fikir vermekte iyi çalışır.
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
CPU(s): 4
Thread(s) per core: 2
Core(s) per socket: 2
CPU socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 37
Stepping: 5
CPU MHz: 1199.000
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 3072K
NUMA node0 CPU(s): 0-3
Bu aslında çekirdek tarafından lscpu
görüntülenen araçların çoğunun sağladığı verilerdir . Size özel CPU'nuz hakkında bazı model numarası bilgileri göstermesi nedeniyle bu çıktıyı biraz güzel buluyorum. Ayrıca, CPU'nuzun sahip olabileceği her çekirdek için bir bölüm gösterecektir.
İşte tek bir çekirdek için çıktı:
$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 37
model name : Intel(R) Core(TM) i5 CPU M 560 @ 2.67GHz
stepping : 5
cpu MHz : 1466.000
cache size : 3072 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt aes lahf_lm ida arat tpr_shadow vnmi flexpriority ept vpid
bogomips : 5319.74
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
Bir çekirdek için her bölümün ilk 3 satırı şöyle görünür:
$ grep processor -A 3 /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 37
--
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 37
--
processor : 2
vendor_id : GenuineIntel
cpu family : 6
model : 37
--
processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 37
Çıktısı, /proc/cpuinfo
CPU'nuzun gösterdiği çeşitli bayraklar aracılığıyla sağladığı mimari tipini de söyleyebilir. Yukarıdaki komuttan bu satırlara dikkat edin:
$ grep /proc/cpuinfo | head -1
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt aes lahf_lm ida arat tpr_shadow vnmi flexpriority ept vpid
Biten bayraklar, _lm
işlemcinizin "uzun modu" desteklediğini söyler. Uzun mod, 64 bit için başka bir isimdir.
Bu komut, çekirdeğinizin hangi platformu desteklemek üzere oluşturulduğunu belirlemek için kullanılabilir. Örneğin:
64 bit çekirdek
$ uname -a
Linux grinchy 2.6.35.14-106.fc14.x86_64 #1 SMP Wed Nov 23 13:07:52 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
32 bit çekirdek
$ uname -a
Linux skinner.bubba.net 2.6.18-238.19.1.el5.centos.plus #1 SMP Mon Jul 18 10:07:01 EDT 2011 i686 i686 i386 GNU/Linux
Bu çıkış ayrıca anahtarları kullanarak biraz rafine edilebilir [-m|--machine]
, [-p|--processor]
ve [-i|--hardware-platform]
.
İşte aynı yukarıdaki sistemler için çıktı.
64 bit
$ uname -m; uname -p; uname -i
x86_64
x86_64
x86_64
32 bit
$ uname -m; uname -p; uname -i
i686
i686
i386
NOT:uname -m
Tek başına komut olarak çalıştırabileceğiniz kısa biçimli bir sürümü de vardır arch
. Tam olarak aynı şeyi döndürür uname -m
. arch
Komut hakkında daha fazla bilgiyi coreutils belgelerinde okuyabilirsiniz .
alıntı
arch, makine donanım adını yazdırır ve 'uname -m'ye eşdeğerdir.
Muhtemelen donanımınızı analiz etmek için en iyi araç olmalı hwinfo
. Bu paket, herhangi bir donanımınız hakkında doğrudan terminalden bilmek istediğiniz / ihtiyacınız olan her şeyi size gösterebilir. Bir sistemin anakartındaki bir yongadan biraz bilgiye ihtiyacım olduğunda veya PCI yuvasındaki bir kartın revizyonunu bilmem gerektiğinde beni düzinelerce kez kurtardı.
Bir bilgisayarın farklı alt sistemlerine karşı sorgulayabilirsiniz. Bizim durumumuzda cpu
alt sisteme bakacağız .
$ hwinfo --cpu
01: None 00.0: 10103 CPU
[Created at cpu.301]
Unique ID: rdCR.a2KaNXABdY4
Hardware Class: cpu
Arch: X86-64
Vendor: "GenuineIntel"
Model: 6.37.5 "Intel(R) Core(TM) i5 CPU M 560 @ 2.67GHz"
Features: fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,clflush,dts,acpi,mmx,fxsr,sse,sse2,ss,ht,tm,pbe,syscall,nx,rdtscp,lm,constant_tsc,arch_perfmon,pebs,bts,rep_good,xtopology,nonstop_tsc,aperfmperf,pni,pclmulqdq,dtes64,monitor,ds_cpl,vmx,smx,est,tm2,ssse3,cx16,xtpr,pdcm,sse4_1,sse4_2,popcnt,aes,lahf_lm,ida,arat,tpr_shadow,vnmi,flexpriority,ept,vpid
Clock: 2666 MHz
BogoMips: 5319.74
Cache: 3072 kb
Units/Processor: 16
Config Status: cfg=new, avail=yes, need=no, active=unknown
Yine, /proc/cpuinfo
bu komuta benzer bir çok çekirdekli sistemdeki her bir çekirdeğin makyajını gösterir. İşte size bir fikir vermek için bir çekirdeğin her bölümünden ilk satır.
$ hwinfo --cpu | grep CPU
01: None 00.0: 10103 CPU
Model: 6.37.5 "Intel(R) Core(TM) i5 CPU M 560 @ 2.67GHz"
02: None 01.0: 10103 CPU
Model: 6.37.5 "Intel(R) Core(TM) i5 CPU M 560 @ 2.67GHz"
03: None 02.0: 10103 CPU
Model: 6.37.5 "Intel(R) Core(TM) i5 CPU M 560 @ 2.67GHz"
04: None 03.0: 10103 CPU
Model: 6.37.5 "Intel(R) Core(TM) i5 CPU M 560 @ 2.67GHz"
Bu muhtemelen CPU'nuzun işletim sistemine hangi mimariyi sunduğunu söylemenin en açık yoludur. Yararlanarak getconf
senin sistem değişkeni LONG_BIT sorgulama. Bu bir ortam değişkeni değil.
# 64-bit system
$ getconf LONG_BIT
64
# 32-bit system
$ getconf LONG_BIT
32
Yine başka bir araç, yetenekleri benzer hwinfo
. Temeldeki donanım hakkında bilmek istediğiniz her şeyi sorgulayabilirsiniz. Örneğin:
# 64-bit Kernel
$ lshw -class cpu
*-cpu
description: CPU
product: Intel(R) Core(TM) i5 CPU M 560 @ 2.67GHz
vendor: Intel Corp.
physical id: 6
bus info: cpu@0
version: Intel(R) Core(TM) i5 CPU M 560 @ 2.67GHz
slot: None
size: 1199MHz
capacity: 1199MHz
width: 64 bits
clock: 133MHz
capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp x86-64 constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt aes lahf_lm ida arat tpr_shadow vnmi flexpriority ept vpid cpufreq
configuration: cores=2 enabledcores=2 threads=4
# 32-bit Kernel
$ lshw -class cpu
*-cpu:0
description: CPU
product: Intel(R) Core(TM)2 CPU 4300 @ 1.80GHz
vendor: Intel Corp.
physical id: 400
bus info: cpu@0
version: 6.15.2
serial: 0000-06F2-0000-0000-0000-0000
slot: Microprocessor
size: 1800MHz
width: 64 bits
clock: 800MHz
capabilities: boot fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe x86-64 constant_tsc pni monitor ds_cpl est tm2 ssse3 cx16 xtpr lahf_lm
configuration: id=1
*-logicalcpu:0
description: Logical CPU
physical id: 1.1
width: 64 bits
capabilities: logical
*-logicalcpu:1
description: Logical CPU
physical id: 1.2
width: 64 bits
capabilities: logical
CPU çalışma modu (ları)?
Komutların birçoğu, 32 bit CPU'yu 32 bit ve 64 bit modlarını destekleyen olarak görüyor. Bu biraz kafa karıştırıcı ve yanıltıcı olabilir, ancak özellikle CPU'ların geçmişini anlarsanız, Intel özellikle, bir CPU'nun 16 biti destekleyen bir talimat setine sahip olabileceği ürünleri ile oyun oynama geçmişine sahip olduklarını bileceksiniz. ama 2 ^ 16 daha fazla RAM adresleyebilir.
Aynı şey bu CPU'lar için de geçerli. Çoğu kişi, 32 bit CPU'nun yalnızca 2 ^ 32 = 4GB RAM'e hitap edebileceğini bilir. Ancak daha fazlasını ele alabilecek CPU sürümleri var. Bu CPU'lar genellikle PAE - Fiziksel Adres Uzantısı sonekine sahip bir Linux çekirdeğinden yararlanır . PAE özellikli bir çekirdeğin bu donanımla birlikte kullanılması, 32 bit sistemde 64 GB'a kadar adresleme yapabilmenizi sağlar.
Peki neden 64 bit mimariye ihtiyacım var? Bu CPU'larla ilgili sorun, tek bir işlem alanının 2 ^ 32 ile sınırlı olmasıdır, bu nedenle RAM'de adreslenebilir alanın 2 ^ 32'sinden daha fazlasına ihtiyaç duyan büyük bir simülasyon veya hesaplama programınız varsa, bu size yardımcı olmaz Bununla.
Daha fazla bilgi için P6 mikro mimarisindeki (i686) wikipedia sayfasına bakınız .
TL; DR - Peki CPU'mun mimarisi ne halt?
Genel olarak kafa karıştırıcı olabilir, çünkü yukarıdaki komutların ve yöntemlerin birçoğu "mimari" terimini gevşek bir şekilde kullanıyor. Temel işletim sisteminin 32 bit mi yoksa 64 bit mi olduğunu merak ediyorsanız şu komutları kullanın:
- lscpu
- getconf LONG_BIT
- Adın
Öte yandan CPU'nun mimarisini bilmek istiyorsanız şu komutları kullanın:
- / Proc / cpuinfo
- hwinfo
- lshw
Özellikle, "genişlik: 64" veya "genişlik: 32" gibi şeylerin söylendiği alanları aramak veya benzer bir araç kullanıyorsanız lshw
veya bayrakları arayın:
lm
: Uzun Mod (x86-64: amd64, Intel 64 olarak da bilinir, yani 64 bit özellikli)
lahf_lm
: Uzun modda LAHF / SAHF
Bu 2 bayrağın hediyeleri CPU'nun 64 bit olduğunu söylüyor. Onların yokluğu size 32 bit olduğunu söylüyor.
CPU bayrakları hakkında ek bilgi için bu URL'lere bakın.
Referanslar
adam sayfaları
nesne:
cat /proc/cpu
misiniz, 64 veya 32 bit modunda önyükleme yapmak istediğinizi seçebileceğiniz önyüklemede düşünüyorum