PAE(실제 주소 확장) 및 AWE(Address Windowing Extensions)를 설명하고 이들의 상호 동작 방법을 설명합니다. 또한 32비트 운영 체제의 특성인 4GB 범위를 초과하는 메모리 사용의 제한에 대해서도 설명합니다.

PAE는 4GB보다 큰 실제 메모리를 사용하기 위해 IA32 프로세서에 추가된 기능입니다. Windows 2000 Advanced Server, Windows 2000 Datacenter Server, Windows Server 2003, Enterprise Edition 및 Windows Server 2003, Datacenter Edition은 PAE를 사용하여 4GB를 초과하는 실제 메모리를 이용할 수 있습니다. PAE를 설정하려면 Boot.ini 파일에서 /PAE 스위치를 사용하십시오.


참고로 Windows Server 2003, Enterprise Edition 및 Windows Server 2003, Datacenter Edition은 서버가 핫 추가 메모리 장치를 사용하는 경우에만 PAE를 자동으로 설정합니다. 이 경우 핫 추가 메모리 장치를 사용하도록 구성된 시스템에서는 /PAE 스위치를 사용할 필요가 없습니다. 다른 모든 경우에 4GB 이상의 메모리를 이용하려면 Boot.ini 파일에서 /PAE 스위치를 사용해야 합니다.

일반적으로 Windows 2000이나 Windows Server 2003에서 실행되는 프로세스는 /3GB 스위치를 사용하지 않는다고 가정할 때 최대 2GB의 메모리 주소 공간에 액세스할 수 있으며 이 메모리 중 일부는 실제 메모리이고 일부는 가상 메모리입니다. 프로그램과 프로세스를 더 많이 실행하면 최대 2GB의 주소 공간까지 메모리를 더 많이 커밋하게 됩니다.

이런 상황이 발생하면 페이징 프로세스가 크게 증가하여 성능에 나쁜 영향을 미칠 수 있습니다. Windows 2000 및 Windows Server 2003 메모리 관리자는 PAE를 사용하여 프로그램에 더 많은 실제 메모리를 제공합니다. 이렇게 하면 페이지 파일의 메모리를 스왑할 필요성이 줄어들어 성능이 향상됩니다. 프로그램 자체는 실제 메모리 크기를 인식하지 못합니다. 모든 메모리 관리와 PAE 메모리의 할당은 실행되는 프로그램에 관계없이 메모리 관리자에 의해 처리됩니다.

앞의 정보는 /3GB 스위치를 사용하여 실행하는 프로그램에 해당됩니다. 3GB 메모리를 요청하는 프로그램은 페이징 아웃하는 대신 실제 메모리에 더 많은 메모리가 남아 있도록 할 수 있습니다. 이렇게 하면 /3GB 스위치를 사용할 수 있는 프로그램의 성능이 좋아집니다. 예외는 /3GB 스위치를 /PAE 스위치와 함께 사용할 때 발생합니다. 이 경우 운영 체제는 16GB를 초과하는 메모리를 사용하지 못합니다.

이 문제는 커널 가상 메모리 공간의 고려 사항으로 인해 발생합니다. 이렇게 Boot.ini 파일에서 /3GB 항목을 사용하여 시스템을 다시 시작하고 시스템의 실제 메모리가 16GB보다 큰 경우 운영 체제는 추가 실제 RAM을 사용하지 않습니다. /3GB 스위치를 사용하지 않고 컴퓨터를 다시 시작하면 실제 메모리를 모두 사용할 수 있습니다.


AWE는 메모리 관리자 기능에 대한 API(응용 프로그래밍 인터페이스) 집합으로 프로그램이 표준 32비트 주소 지정을 통해 4GB보다 큰 사용 가능한 메모리를 주소 지정할 수 있게 해줍니다. AWE를 사용하면 프로그램은 실제 메모리를 페이징되지 않은 메모리로 예약한 다음 페이징되지 않은 메모리 일부를 프로그램의 메모리 작업 집합에 동적으로 매핑할 수 있습니다.

이 프로세스를 사용하면 대형 데이터베이스 시스템처럼 메모리를 많이 사용하는 프로그램이 페이지 파일을 사용하기 위해 페이징인/아웃할 필요 없이 많은 실제 메모리를 데이터용으로 예약할 수 있습니다. 대신 데이터는 작업 집합에서 스와핑되며 예약된 메모리는 4GB 범위를 초과합니다. 또한 4GB를 초과하는 메모리 범위는 PAE에 의해 AWE 기능 및 메모리 관리자에 노출됩니다. PAE 없이는 AWE가 4GB를 초과한 메모리를 예약할 수 없습니다.

다음은 PAE 스위치가 추가된 Boot.ini 파일의 예입니다.

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)WINDOWS="Windows Server 2003, Enterprise" /fastdetect /PAE <---추가부분

+ Recent posts