32 비트 커널의 경우 PAE와 비 PAE의 장단점은 무엇입니까?


8

Ubuntu 12.04 32 비트를 사용하고 있습니다. 내 커널은 PAE 커널입니다. 4GB RAM을 사용하기 위해 4GB RAM이있는 32 비트 OS에 사용할 수있는 커널이라는 것을 알고 있습니다.

내 시스템은 32 비트 시스템입니다. 그래서 나는 그것들이 필요 없다고 생각했습니다. PAE 커널을 계속 실행하면 어떤 장단점이 있습니까?

raja@badfox:~$ uname -a
Linux badfox 3.2.0-24-generic-pae #39-Ubuntu SMP Mon May 21 18:54:21 UTC 2012 i686 i686 i386 GNU/Linux

3
PAE를 사용하면 32 비트 시스템에서 3.2GB 이상의 RAM을 사용할 수 있습니다. RAM이 적거나 64 비트 시스템 인 경우 필요하지 않습니다. 나는 그것에 문제가 없다는 것을 알고있다.
Marty Fried

@EliahKagan 내 시스템 32 비트 및 OS 32 비트이지만 커널 PAE. PAE 커널을 계속 사용한다면 장점과 단점은 무엇입니까?
rɑːdʒɑ

1
가장 큰 문제는 이것입니다 : 시스템에 얼마나 많은 RAM이 있습니까? PAE의 장점은 32 비트 OS에서 3.2GB 이상의 RAM에 액세스 할 수 있다는 것입니다. 그것이 존재의 이유입니다. 64 비트 OS는 이미 더 많은 메모리에 액세스 할 수 있으므로 도움이 필요하지 않습니다.
Marty Fried

@ EliahKagan : 감사합니다. 그러나 아마도 izx의 대답이 내가 쓸 수있는 모든 것을 이룰 것이라고 생각합니다. :) 나는 단점이 무엇인지 확실하지 않았기 때문에 그 대답이 크지 않다는 것을 알지 못했기 때문에 대답하지 않았다. 그러나이 경우 간단한 대답이 가장 좋을 수도 있습니다.
Marty Fried

답변:


21

짧은 대답 : 가능하면 64 비트로 전환하십시오. PAE / 비 PAE 32 비트보다 빠릅니다. 그렇지 않으면 PAE 이외의 PAE가 PAE보다 1-2 % 빠를 수 있습니다.


이론적으로 PAE는 비 PAE보다 약간 오버 헤드가 있습니다 ...

  • PAE의 큰 장점은 32 비트 프로세서 / 시스템에서 4GB 이상의 RAM을 사용할 수 있다는 것입니다.
  • 그러나 비 PAE보다 약간 더 많은 오버 헤드가 필요하므로 성능이 약간 저하 될 수 있습니다.
    • 비 PAE 모드에서 32 비트 CPU는 물리적 메모리 주소에 액세스하기 위해 두 개의 테이블을 조회 (액세스)해야합니다 . PAE 모드에서는 세 개의 테이블을 찾아야합니다 . 한 번의 추가 조회에는 약간의 추가 시간이 필요하므로 추가 오버 헤드가 발생합니다.
    • 이 답변의 끝에 Wikipedia PAE 기사 의 두 이미지가 있으며 위의 요점을 보여줍니다.
    • NX / XD 비트 : PAE 커널은 64 비트 프로세서에서 No-eXecute / eXecute-Disable 비트도 지원합니다. 이것은 어떤 종류의 바이러스 / 악의적 인 공격 (버퍼 오버 플로우)을 방지하는 데 도움이 될 수 있지만, IMO는 우분투에 대해 32 비트 커널을 선택할 때 중요하지 않습니다.

... 그러나 실제로이 오버 헤드는 무시할 수 있습니다 (거의 아무것도 아닙니다) ...

  • Phoronix는 수년에 걸쳐 4GB 이하의 시스템 에서 PAE 커널이 비 PAE 커널보다 최대 약 5 % 느려질 수 있다는 여러 테스트를 수행했습니다 . 이것은 특정 테스트 응용 프로그램에만 해당됩니다. 일반적인 차이는 1 % 미만입니다.

64 비트는 거의 항상 32 비트 커널 모두를 능가합니다.

  • 위의 Phoronix 벤치 마크에서 말한 것 중 하나는 4GB 미만의 RAM이 있더라도 64 비트가 왕이라는 것입니다 (최소 1GB를 권장하지만)
  • 64 비트 프로세서가있는 경우 (일반적으로 Intel Atoms를 제외하고 2006 년 이후) 32 비트 커널을 사용하면 성능이 저하 될 수 있습니다 !

비 PAE와 PAE 페이지 테이블 액세스 비교 :

  1. 비 PAE

    여기에 이미지 설명을 입력하십시오

  2. PAE

    여기에 이미지 설명을 입력하십시오


2
따라서 4GB 미만의 RAM이 있다면 64 비트가 32 비트보다 빠르다는 말입니까? 왜 그런 겁니까? 또한 아직 변환되지 않았거나 변환에 버그가있는 32 비트 소프트웨어의 호환성 문제에 대해서는 언급하지 않습니다. 이것이 문제라고 생각하십니까? 그것은 마치 것 같지만 아마도 이것은 과거의 일입니다.
Marty Fried

물론 위의 의견은 생각할 점이 있습니다.
rɑːdʒɑ

@MartyFried 컴파일러가 64 비트에 대해 더 나은 작업을 수행하기 때문에 64 비트가 32 비트보다 빠릅니다. 세부 사항을 기억하지 못하므로 확장 할 수있는 사람이 있지만 프로그램이 할당 할 수있는 가장 큰 연속 메모리 (2GiB / 4Gib 미만)와 관련이 있다고 생각합니다.
Eliah Kagan 2016

2
명심해야 할 또 다른 사항은 AMD64 / EM64T 명령어 세트에 추가 된 명령어를 사용하기 때문에 (1) 64 비트가 더 빠를 수 있다는 것입니다 (32 비트에서는 대부분의 프로그램이 가장 낮은 공통 분모로 컴파일되는 반면) RAM의 메모리와 디스크로 스왑 된 메모리는 각 프로그램의 가상 메모리 공간의 일부이며 가상 메모리 공간이 지정되므로, i686) 및 (2) 64 비트 RAM이 상당히 적은 RAM에서 64 비트가 더 빠를 수 있습니다. 32 비트 시스템의 32 비트 포인터 및 64 비트 시스템의 64 비트 포인터 Pehraps izx는 이러한 문제 중 일부에 대해 이야기 할 수 있습니다.
Eliah Kagan 2016

2
@EliahKagan :이 Q가 정식 Q에 적합한 후보라고 생각 하십니까? "64 비트 프로세서는 있지만 4GB 미만의 램이 있습니다.이 중 세 개의 커널 중 어느 것을 선택해야합니까?"
ish


0

32 비트 시스템의 vmalloc 제한 사항을 공개하면서 특정 소프트웨어 (zfs 파일 시스템)와 함께 32 비트 12.04를 사용하는 데 심각한 문제가 발생했습니다. 성공). 이것은 아마도 특별한 경우이지만, 예를 들어 설명 할 수 있습니다. 최대 32GB 커널을 사용할 수 있더라도 32 비트 커널 내부의 깊이 제한은 1GB입니다.

가능하면 64 비트로 이동하십시오. 나는 Tou vcan을 확신합니다 ... 지금까지 거의 모든 실행중인 시스템에서 지원해야한다고 생각합니다 (= 64 비트 CPU 코어). 나중에 "업그레이드"는 다소 불편합니다 (dpkg를 복사하고 / etc / 및 / home /을 복사하면 새 설치를 실행하는 데 도움이되는 경우에도 다시 설치해야 함). 어떤 이유로 든 이전 / 닫힌 소스 32 비트 응용 프로그램이나 일부 라이브러리를 사용해야하는 경우에도 64 비트를 두려워 할 필요가 없다고 생각합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.