i686과 x86_64의 차이점은 무엇입니까?


답변:


67

i686은 32 비트 버전이고 x86_64는 64 비트 버전의 OS입니다.

64 비트 버전은 특히 동일한 프로세스에서 많은 램을 사용해야하는 대규모 데이터베이스와 같은 워크로드에 대해 메모리에 맞게 확장됩니다. 32 비트 시스템에서 (중요한) 데이터베이스 서버를 실행하는 것을 고려하지 마십시오.

그러나 대부분의 다른 경우에는 32 비트 버전이 정상입니다. 32 비트 코드는 더 적은 메모리를 사용하므로 더 많은 것을 얻을 수 있습니다. OS가 사용할 수있는 메모리의 한계는 다르지 않고 프로세스 당 메모리 만 다릅니다.

따라서 실제로 사용하려는 대상에 따라 다릅니다. 큰 서버용 소프트웨어를 개발하거나 큰 서버를 실행하려는 경우 64 비트를 사용하십시오. 그렇지 않으면 32를 사용하십시오.


1
RAM이 4GB 이하인 경우 64 비트 OS를 설치하지 않아야합니다. RAM이 4GB 이상인 경우 64 비트 OS를 설치해야합니다. 그렇지 않으면 모든 RAM에 액세스 할 수 없습니다.
d -_- b 3

3
@toor I, 1) 32 비트 OS는 PAE 등으로 4G 이상의 램을 사용할 수 있습니다. 이제는 표준이며 2) 프로세스의 주소 공간이 (고유 한) 물리적 RAM에 매핑되지 않을 수 있습니다. RAM이 4G 미만인 경우에도 64 비트 OS를 사용하는 것이 유용 할 수 있습니다.
MarkR

3
@toor 확실히 2-3Gb의 개인 익명 페이지로 단일 프로세스를 실행하려는 경우 32 비트 OS에서는 어려워집니다. 주소 공간 고갈은 (가상) 메모리가 부족하지 않고 그러한 시스템에서 심각한 문제입니다. 그러나 64 비트 커널 및 사용자 공간으로 전환하면 작업이 대상을 초과하여 더 많은 램을 소비하게됩니다. 경우에 따라 64 비트 커널에서 32 비트 사용자 공간이 좋습니다.
MarkR

1
64 비트 프로세서가있는 경우 64 비트 OS를 실행하십시오! duh, 현명 해 보인다
Sam Watkins

2
64 비트 바이너리가 일반적으로 64 비트 어셈블리를 지원하도록 컴파일된다는 것을 언급하지 못하는 것이 이상합니다! 경우에 따라 64 비트 작업을 사용할 수 있으면 응용 프로그램의 속도가 크게 향상 될 수 있습니다. 주목할만한 것은 Crypto (OpenSSL 등)입니다. 프로세서가 64 비트를 지원하는 경우 일반적으로 64 비트 응용 프로그램을 사용하는 것이 가장 좋습니다!
jduncanator

120

짧은 답변:

i686 = 32-bit Intel x86 arch 
x86_64 = 64-bit Intel x86 arch

18
이 대답은 특히 32 비트 대 64 비트를 이미 알고있을 때 가장 유용합니다. 나를 버린 부분은 "i686"이었습니다. 일반적으로, 나는 단순히 x86을 기대할 것입니다
Antony

4
왜 x86_64에 "86"부분이 포함되어 있습니까?
mmdemirbas

3
왜 "86"인지에 대한 좋은 질문입니다. 내 자신을 찾아야했다. serverfault.com/questions/188177/…
4

8
"386", "486", "586", "686"일반화-아키텍처의 별명- "80386", "80486"등과 같은 칩으로 돌아 가기
Brad

3
@Brad가 옳았습니다 :) 64 비트 (이 경우 x86_64의 _64 비트)는 단순히 x86 명령 세트의 확장을 나타냅니다. 그러나 여전히 동일한 어셈블리 (-ish)이지만 64 비트 정수 등에 대한 작업에 대한 새로운 지침을 추가합니다. 따라서 x86이 여전히 관련이있는 이유. 사람들이 x86이라고 말하면 x86이 64 비트 컴퓨터에도 적용되므로 대부분 32 비트를 의미합니다.
jduncanator

31

ix86은 프로세서 생성에 의해 설정된 프로세서 명령의 표시입니다. 예 : Intel Pentium, Intel Core2Duo, AMD K6. ix86은 수년 동안 사용되어 왔으며, 2000 년 이후에 프로세서를 만들었다면 적어도 i686 명령어 세트가있을 것입니다. 다른 표시기가 없으면 이것이 32 비트 버전임을 암시합니다.

x86_64는 64 비트 레지스터 및 주소 공간 사용을 나타냅니다. 64 비트 프로세서가 있고 64 비트 버전의 운영 체제를 사용하려는 경우에만이 옵션을 선택하십시오 .

선택은 당신입니다. 모든 AMD Turion 프로세서는 64 비트를 지원한다고 생각합니다. 64 비트 버전 또는 32 비트 버전의 Arch Linux를 원하는지 결정하기 만하면됩니다.


0

마케 네타 설명

기본적으로, 다른 커널 지정은 컴파일러가 최적화하도록 지시 한 명령 세트를 식별합니다. i686 CPU는 i586 및 i386 명령어를 실행할 수 있으므로 관찰 한 바와 같이 i686은 i386 커널을 실행할 수 있습니다. 그러나 i686 용으로 특별히 컴파일 된 것만 큼 최적으로 실행되지 않을 수 있습니다.

다음은 일반적으로 적용되는 지정입니다.

x86_64 프로세서

  • AMD의 Athlon 64, Athlon 64 FX 및 Opteron
  • 인텔 EMT64 프로세서-Noscotta Xeon, Prescott 코어의 E0 개정판을 사용하는 Pentium 4 (AKA Pentium 4, 모델 F)

i686 프로세서 * 모든 Intel 32 비트 Pentium (Pentium 1 및 Pentium MMX 제외) * 모든 AMD 32 비트 Athlon

i586 프로세서

  • 모든 32 비트 AMD K
  • 펜티엄 1
  • 펜티엄 MMX

i386 프로세서

  • Intel 80386 호환 CPU에 대한 일반적인 "가장 낮은 공통 분모"지정 (위의 모든 항목을 포함하지만 이후 CPU에 대한 확장 명령을 사용하지는 않음)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.