lscpu
memberitahu Anda bahwa arsitektur Anda adalah i686 (sebuah CPU Intel 32-bit), dan bahwa CPU Anda mendukung mode pengoperasian 32-bit dan 64-bit. Anda tidak akan dapat menginstal aplikasi yang dibangun x64 karena dibuat khusus untuk arsitektur x64.
CPU khusus Anda dapat menangani paket bawaan i386 atau i686. Ada beberapa cara untuk memverifikasi arsitektur & preferensi OS Anda.
Seperti yang sudah Anda ketahui, Anda dapat menggunakan perintah lscpu. Ini bekerja dengan baik untuk memberi Anda gambaran kasar tentang kemampuan CPU Anda.
$ 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
Ini sebenarnya adalah data yang disediakan oleh kernel yang sebagian besar dari alat-alat seperti lscpu
gunakan untuk menampilkan. Saya menemukan output ini sedikit bagus pada kenyataan bahwa itu menunjukkan kepada Anda beberapa info nomor model tentang CPU khusus Anda. Juga akan menunjukkan bagian untuk setiap inti yang mungkin dimiliki CPU Anda.
Berikut ini output untuk satu inti:
$ 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:
Inilah yang terlihat seperti 3 baris pertama dari setiap bagian untuk inti:
$ 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
Output dari /proc/cpuinfo
juga dapat memberi tahu Anda jenis arsitektur yang disediakan CPU Anda melalui berbagai flag yang ditampilkan. Perhatikan baris-baris ini dari perintah di atas:
$ 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
Bendera yang berakhir dengan _lm
memberi tahu Anda bahwa prosesor Anda mendukung "mode panjang". Mode panjang adalah nama lain untuk 64-bit.
Perintah ini dapat digunakan untuk menentukan platform apa yang dibangun oleh kernel Anda. Sebagai contoh:
Kernel 64-bit
$ 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
Kernel 32-bit
$ 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
Output ini dapat disempurnakan sedikit lebih jauh dengan menggunakan switch, [-m|--machine]
, [-p|--processor]
, dan [-i|--hardware-platform]
.
Inilah output untuk sistem yang sama di atas.
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
CATATAN: Ada juga versi bentuk pendek uname -m
yang dapat Anda jalankan sebagai perintah yang berdiri sendiri arch
,. Ini mengembalikan hal yang sama persis dengan uname -m
. Anda dapat membaca lebih lanjut tentang arch
perintah dalam dokumentasi coreutils .
kutipan
arch mencetak nama perangkat keras mesin, dan setara dengan 'uname -m'.
Mungkin alat terbaik untuk menganalisis perangkat keras Anda harus hwinfo
. Paket ini dapat menunjukkan kepada Anda apa saja yang Anda ingin / perlu ketahui tentang perangkat keras Anda, langsung dari terminal. Ini menyelamatkan saya puluhan kali ketika saya membutuhkan info dari sebuah chip pada motherboard sistem atau perlu mengetahui revisi papan di slot PCI.
Anda dapat menanyakannya terhadap berbagai subsistem komputer. Dalam kasus kami, kami akan melihat cpu
subsistem.
$ 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
Sekali lagi, mirip dengan /proc/cpuinfo
perintah ini menunjukkan kepada Anda susunan setiap inti individu dalam sistem multi-inti. Inilah baris pertama dari setiap bagian inti, hanya untuk memberi Anda ide.
$ 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"
Ini mungkin cara yang paling jelas untuk mengetahui arsitektur apa yang disajikan CPU Anda ke OS. Memanfaatkan getconf
, Anda mempertanyakan variabel sistem LONG_BIT. Ini bukan variabel lingkungan.
# 64-bit system
$ getconf LONG_BIT
64
# 32-bit system
$ getconf LONG_BIT
32
Namun alat lain, mirip dengan kemampuan hwinfo
. Anda dapat menanyakan hampir semua hal yang ingin Anda ketahui tentang perangkat keras yang mendasarinya. Sebagai contoh:
# 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
Mode operasi CPU?
Beberapa perintah melaporkan bahwa apa yang tampak sebagai CPU 32-bit mendukung mode 32-bit & 64-bit. Ini bisa sedikit membingungkan dan menyesatkan, tetapi jika Anda memahami sejarah CPU, khususnya Intel, Anda akan tahu bahwa mereka memiliki sejarah bermain game dengan produk mereka di mana CPU mungkin memiliki set instruksi yang mendukung 16-bit, tetapi dapat mengatasi lebih banyak RAM yang 2 ^ 16.
Hal yang sama terjadi pada CPU ini. Kebanyakan orang tahu bahwa CPU 32-bit hanya dapat mengatasi 2 ^ 32 = 4GB RAM. Tetapi ada versi CPU yang bisa mengatasi lebih banyak. CPU ini sering menggunakan kernel Linux dengan akhiran PAE - Physical Address Extension . Menggunakan kernel yang diaktifkan PAE bersama dengan perangkat keras ini akan memungkinkan Anda untuk mengatasi hingga 64GB pada sistem 32-bit.
Anda mungkin berpikir dengan baik lalu mengapa saya perlu arsitektur 64-bit? Masalah dengan CPU ini adalah bahwa ruang proses tunggal terbatas pada 2 ^ 32, jadi jika Anda memiliki simulasi besar atau program komputasi yang membutuhkan lebih dari 2 ^ 32 ruang addressable dalam RAM, maka ini tidak akan membantu Anda dengan itu.
Lihatlah halaman wikipedia di mikroarsitektur P6 (i686) untuk informasi lebih lanjut.
TL; DR - Jadi, apa sih arsitektur CPU saya?
Secara umum ini bisa membingungkan karena sejumlah perintah dan metodologi di atas menggunakan istilah "arsitektur" secara longgar. Jika Anda tertarik untuk mengetahui apakah OS yang mendasarinya adalah 32-bit atau 64-bit gunakan perintah ini:
- lscpu
- getconf LONG_BIT
- nama kamu
Jika di sisi lain Anda ingin tahu arsitektur CPU gunakan perintah ini:
- / proc / cpuinfo
- hwinfo
- lih
Khususnya Anda ingin mencari bidang di mana dikatakan hal-hal seperti "width: 64" atau "width: 32" jika Anda menggunakan alat seperti lshw
, atau mencari benderanya:
lm
: Long Mode (x86-64: amd64, juga dikenal sebagai Intel 64, yaitu mampu 64-bit)
lahf_lm
: LAHF / SAHF dalam mode panjang
Hadiah 2 bendera ini memberi tahu Anda bahwa CPU 64-bit. Ketidakhadiran mereka memberi tahu Anda bahwa itu 32-bit.
Lihat URL ini untuk informasi tambahan tentang flag CPU.
Referensi
halaman manual
artikel:
cat /proc/cpu
, saya pikir pada saat bootup Anda dapat memilih jika Anda ingin boot dalam mode 64 atau 32 bit