lscpu
아키텍처는 i686 (Intel 32 비트 CPU)이며 CPU는 32 비트 및 64 비트 작동 모드를 모두 지원한다고 알려줍니다. x64 빌드 응용 프로그램은 x64 아키텍처 용으로 특별히 제작되었으므로 설치할 수 없습니다.
특정 CPU는 i386 또는 i686 빌드 패키지를 처리 할 수 있습니다. 아키텍처 및 OS 기본 설정을 확인하는 방법에는 여러 가지가 있습니다.
이미 알고 있듯이 lscpu 명령을 사용할 수 있습니다. CPU가 할 수있는 것에 대한 대략적인 아이디어를 제공하는 데 효과적입니다.
$ 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
이것은 실제로 커널에 의해 제공되는 데이터입니다. lscpu
는 표시하는 데 사용됩니다. 특정 CPU에 대한 모델 번호 정보를 표시한다는 사실 에서이 출력이 약간 훌륭하다는 것을 알았습니다. 또한 CPU에있을 수있는 각 코어에 대한 섹션이 표시됩니다.
단일 코어에 대한 출력은 다음과 같습니다.
$ 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:
코어에 대한 각 섹션의 처음 3 줄은 다음과 같습니다.
$ 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
의 출력 /proc/cpuinfo
은 또한 CPU가 보여주는 다양한 플래그를 통해 CPU가 제공하는 아키텍처 유형을 알려줍니다. 위 명령에서 다음 줄을 확인하십시오.
$ 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
끝나는 플래그는 _lm
프로세서가 "긴 모드"를 지원함을 나타냅니다. Long 모드는 64 비트의 다른 이름입니다.
이 명령은 커널이 지원하도록 만들어진 플랫폼을 결정하는 데 사용할 수 있습니다. 예를 들면 다음과 같습니다.
64 비트 커널
$ 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 비트 커널
$ 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
이 출력은 또한, 스위치를 이용하여 비트 수를 정제 [-m|--machine]
, [-p|--processor]
및 [-i|--hardware-platform]
.
다음은 위의 동일한 시스템에 대한 출력입니다.
64 비트
$ uname -m; uname -p; uname -i
x86_64
x86_64
x86_64
32 비트
$ uname -m; uname -p; uname -i
i686
i686
i386
참고 :uname -m
독립형 명령으로 실행할 수 있는 짧은 버전의 버전도 있습니다 arch
. 와 정확히 같은 것을 반환합니다 uname -m
. coreutils 설명서arch
에서 명령에 대한 자세한 내용을 읽을 수 있습니다 .
발췌
arch는 기계 하드웨어 이름을 인쇄하며 'uname -m'과 같습니다.
아마도 당신의 하드웨어를 분석하기위한 가장 좋은 도구가되었을 것 hwinfo
입니다. 이 패키지는 터미널에서 하드웨어에 대해 알고 싶거나 필요한 모든 것을 보여줍니다. 시스템 마더 보드의 칩에 대한 정보가 필요하거나 PCI 슬롯의 보드 개정판을 알아야 할 때 수십 번 절약됩니다.
컴퓨터의 다른 하위 시스템에 대해 쿼리 할 수 있습니다. 이 경우 cpu
하위 시스템을 살펴 보겠습니다 .
$ 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
다시이 /proc/cpuinfo
명령 과 유사하게 멀티 코어 시스템에서 각 개별 코어의 구성을 보여줍니다. 다음은 핵심 각 섹션의 첫 번째 라인으로, 아이디어를 제공하기위한 것입니다.
$ 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"
이것은 아마도 CPU가 OS에 제공하는 아키텍처를 알려주는 가장 확실한 방법 일 것입니다. 를 사용 getconf
하여 시스템 변수 LONG_BIT를 쿼리합니다. 이것은 환경 변수가 아닙니다.
# 64-bit system
$ getconf LONG_BIT
64
# 32-bit system
$ getconf LONG_BIT
32
기능과 유사한 또 다른 도구 hwinfo
. 기본 하드웨어에 대해 알고 싶은 모든 것을 쿼리 할 수 있습니다. 예를 들면 다음과 같습니다.
# 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 작동 모드?
일부 명령은 32 비트 및 64 비트 모드를 지원하는 것으로 32 비트 CPU 인 것으로보고합니다. 이것은 약간 혼란스럽고 오해의 소지가 있지만, CPU의 역사를 이해한다면, 특히 인텔은 CPU가 16 비트를 지원하는 명령어 세트를 가지고있을 수있는 제품으로 게임을 한 역사를 가지고 있다는 것을 알게 될 것입니다. 그러나 2 ^ 16보다 많은 RAM을 처리 할 수 있습니다.
이 CPU들도 마찬가지입니다. 대부분의 사람들은 32 비트 CPU가 2 ^ 32 = 4GB의 RAM 만 처리 할 수 있다는 것을 알고 있습니다. 그러나 더 많은 주소를 지정할 수있는 CPU 버전이 있습니다. 이러한 CPU는 종종 PAE-Physical Address Extension 접미사가있는 Linux 커널을 사용합니다 . PAE 지원 커널을이 하드웨어와 함께 사용하면 32 비트 시스템에서 최대 64GB를 처리 할 수 있습니다.
그렇다면 64 비트 아키텍처가 필요한 이유는 무엇입니까? 이 CPU의 문제점은 단일 프로세스 공간이 2 ^ 32로 제한되어 있기 때문에 RAM에 2 ^ 32 이상의 주소 지정 가능 공간이 필요한 대규모 시뮬레이션 또는 계산 프로그램이 있으면 도움이되지 않은 것입니다 그것으로.
자세한 내용 은 P6 마이크로 아키텍처 (i686) 의 Wikipedia 페이지 를 참조하십시오.
TL; DR-CPU 아키텍처는 무엇입니까?
위의 많은 명령과 방법론에서 "아키텍처"라는 용어를 느슨하게 사용하기 때문에 일반적으로 혼동 될 수 있습니다. 기본 OS가 32 비트인지 64 비트인지에 관심이있는 경우 다음 명령을 사용하십시오.
- lscpu
- getconf LONG_BIT
- 언놈
반면에 CPU 아키텍처를 알고 싶다면 다음 명령을 사용하십시오.
- / proc / cpuinfo
- hwinfo
- lshw
특히와 같은 도구를 사용하는 경우 "width : 64"또는 "width : 32"와 같은 필드를 찾 lshw
거나 플래그를 찾습니다.
lm
: Long Mode (x86-64 : amd64, Intel 64라고도 함, 즉 64 비트 가능)
lahf_lm
: 롱 모드의 LAHF / SAHF
이 2 개의 플래그는 CPU가 64 비트임을 나타냅니다. 그들의 부재는 그것이 32 비트라는 것을 알려줍니다.
CPU 플래그에 대한 추가 정보는이 URL을 참조하십시오.
참고 문헌
매뉴얼 페이지
조항:
cat /proc/cpu
, 당신이 64 또는 32 비트 모드로 부팅하려는 경우 선택할 수있는 부팅에서 생각