다음을 통해 공유


가상 주소 공간(메모리 관리)

프로세스의 가상 주소 공간은 사용할 수 있는 가상 메모리 주소 집합입니다. 각 프로세스의 주소 공간은 비공개이며 공유되지 않는 한 다른 프로세스에서 액세스할 수 없습니다.

가상 주소는 메모리에 있는 개체의 실제 위치를 나타내지 않습니다. 대신 시스템은 각 프로세스에 대한 페이지 테이블을 유지 관리합니다. 이 테이블은 가상 주소를 해당 실제 주소로 변환하는 데 사용되는 내부 데이터 구조입니다. 스레드가 주소를 참조할 때마다 시스템은 가상 주소를 실제 주소로 변환합니다.

32비트 Windows의 가상 주소 공간은 크기가 4GB이며 두 파티션으로 나뉩니다. 하나는 프로세스에서 사용하고 다른 하나는 시스템에서 사용하도록 예약되어 있습니다. 64비트 Windows의 가상 주소 공간에 대한 자세한 내용은 64비트 Windows의 가상 주소 공간을 참조 하세요.

가상 메모리에 대한 자세한 내용은 다음 항목을 참조하세요.

32비트 Windows의 기본 가상 주소 공간

다음 표에는 각 파티션의 기본 메모리 범위가 표시됩니다.

메모리 범위 사용
낮은 2GB(0x00000000~0x7FFFFFFF) 프로세스에서 사용됩니다.
높은 2GB(0x80000000~0xFFFFFFFF) 시스템에서 사용됩니다.

 

4GT를 사용하는 32비트 Windows용 가상 주소 공간

4GT(4기가바이트 튜닝)를 사용하도록 설정하면 각 파티션의 메모리 범위는 다음과 같습니다.

메모리 범위 사용
낮은 3GB(0xBFFFFFFF 0x00000000) 프로세스에서 사용됩니다.
높은 1GB(0xC0000000~0xFFFFFFFF) 시스템에서 사용됩니다.

 

4GT를 사용하도록 설정한 후 이미지 헤더에 IMAGE_FILE_LARGE_ADDRESS_AWARE 플래그가 설정된 프로세스는 낮은 2GB 이상의 추가 1GB 메모리에 액세스할 수 있습니다.

32비트 Windows의 가상 주소 공간 조정

다음 명령을 사용하여 프로세스에서 사용할 수 있는 파티션의 크기를 2048(2GB)에서 3072(3GB) 사이의 값으로 구성하는 부팅 항목 옵션을 설정할 수 있습니다.

BCDEdit /set increaseuserva Megabytes

부팅 항목 옵션이 설정되면 각 파티션의 메모리 범위는 다음과 같습니다.

메모리 범위 사용
낮음(0x00000000~ 메가바이트) 프로세스에서 사용됩니다.
높음(메가바이트+1~0xFFFFFFFF) 시스템에서 사용됩니다.

 

Windows Server 2003: boot.ini /USERVA 스위치를 2048에서 3072 사이의 값으로 설정합니다.