2015-01-14 4 views
3

이 질문을 보았습니다 - What's the difference between "virtual memory" and "swap space"?가상 메모리의 최대 크기는 얼마입니까?

여기서 가상 메모리 = RAM 공간 + 디스크 공간 - 프로세스에서 사용할 수 있습니다.

그래서 가상 메모리의 최대 크기는 얼마입니까?

최대 (가상 메모리) = 디스크 공간 + RAM 공간 - OS 공간 (RAM 및 디스크)입니까?

+0

"가상 메모리 = RAM 공간 + 프로세스가 사용할 수있는 디스크 공간 *". 그것은 완전히 잘못된 것입니다. 그리고 다른 대답도 잘못되었습니다. 4GB RAM이있는 64 비트 OS와 100GB 가상 메모리를 사용하여 1GB 파일을 100 번 매핑하는 프로세스를 생각해보십시오. RAM 공간, 디스크 공간, OS 공간 등을 추가하여 프로세스에서 사용할 100GB의 가상 메모리를 확보 할 방법이 없습니다. –

답변

4

가상 메모리는 컴퓨터의 메모리 포인터 크기에 의해 제한되지 않으며 가상 메모리 제한은 메모리 공간 주소 지정과 동일하지 않습니다. 페이징을 사용하는 포인터 기반 주소 공간에서 사용할 수있는 것보다 많은 가상 메모리가 주소 지정 될 수 있습니다.

가상 메모리 상한은 OS에 의해 설정됩니다. 32 비트 Windows의 경우 제한은 16TB이고 64 비트 Windows의 경우 제한은 256TB입니다.

최대 제한은 물리적 디스크 공간입니다.

필요한 가상 메모리 양을 확인하려면 사용자 시스템에 다른 양의 RAM이 포함되어 있으므로 시스템을 기반으로합니다. 기본적으로 OS는 가상 메모리에 적절한 크기를 설정합니다. 가상 메모리의 기본 및 적절한 크기는 다음과 같습니다

<Amount_Of_System_Memory> * 1.5 = <Default_Appropriate_Size_Of_Virtual Memory> 

개인적으로, 당신은 가상 메모리의 실제 크기를 기본 크기 및 크기의 트리플 값을 사용해야 좋은 전반적인 시스템 성능을 유지하기 위해, 말하기 가상 메모리의 최대 크기를위한 메인 메모리.

+0

미안하지만, 당신은 가상 메모리가 디스크 공간 + 램 공간 이상이 될 수 있다고 말했고, 반면에 "최대 한계는 물리적 디스크 공간"이라고 말했습니다. ? –

+0

아니오, 가상 메모리는 디스크 + 램보다 클 수 없습니다. 물리적으로 가능하지는 않습니다. :) 방금 더 많은 메모리 공간이 포인터 기반 공간보다 가상 메모리로 사용될 수 있다고 말했습니다. 이 링크는 http://blogs.msdn.com/b/ericlippert/archive/2009/06/08/out-of-memory-does-not-refer-to-physical-memory.aspx에서 읽을 수 있습니다. "메모리 부족"이 실제 디스크 공간을 의미하지 않는다는 것을의 미하십시오. – RicoRicochet

+0

나는 여전히 당신을 얻지 못했다 ... 좀 더 간단한 방법으로 설명해주십시오. :) ... 나는 OS가 매우 새로워졌습니다. –

0

이론적 제한 :

시작점은 가상 주소의 크기입니다. 일반적으로 32 비트는 이론상 최대 2^32 가상 주소를 제공합니다.

일부 시스템에서는 가상 주소 공간을 전용 영역 (예 : 사용자 및 시스템)으로 나눕니다. VAX는 주소 공간을 4 개의 영역 (사용자, 스택, 시스템, 주소 공간의 1/4)으로 나눴습니다.

거기에서. . .

구성 제한 :

대부분의 시스템은 사용자의 페이지 테이블의 크기에 제한을 부과 할 수있다. 이것은 사용자 또는 시스템 한도 일 수 있습니다. 이는 주소 공간의 크기를 제한합니다.

거기에서. . .

런타임 제한 :

가능한 페이징 영역의 크기는 최대 가상 주소 공간을 특정 시점을 제한 할 수 있습니다.