페이지 파일을 RAM으로 옮기는 것은 우스운 개념입니다. 그냥 끄고 RAM을 늘리십시오. :)
No matter how much RAM you have, you want the system to be able to use it efficiently. Having no paging file at all forces the operating system to use RAM inefficiently for two reasons. First, it can't make pages discardable, even if they haven't been either accessed or modified in a very long time, which forces the disk cache to be smaller. Second, it has to reserve physical RAM to back allocations that are very unlikely to ever require it (for example, a private, modifiable file mapping), leading to a case where you can have plenty of free physical RAM and yet allocations are refused to avoid overcommitting.
Consider, for example, if a program makes a writable, private memory mapping of a 4GB file. The OS has to reserve 4GB of RAM for this mapping, because the program could conceivably modify every byte and there's no place but RAM to store it. So immediately, 4GB of RAM is basically wasted (it can be used to cache clean disk pages, but that's about it).
메모리 관리는 CPU에 의해 처리되며 페이지 파일의 설정 여부는 페이지 처리 방식에 차이가 없습니다. Windows에 투명합니다.
페이지 우선 순위는 변경되지 않으며 페이지는 동일하게 폐기됩니다. 페이지 파일은 CPU가 OS가 아닌 보조 저장소로 사용합니다. 레벨 1 (RAM)이 떨어지면 레벨 2 캐시에 지나지 않습니다.
빠르고 더러운 예 : 내 컴퓨터에는 16GB의 RAM이 있고 페이지 파일이 없습니다. 5 분 전 대기 시간이 13GB이고 여유 공간이 2GB 인 경우 폴 아웃 4를로드했습니다. 우선 순위가 낮은 페이지는 폴 아웃이로드 될 때 삭제되었습니다.
부수적으로, Windows 메모리 제한을 추진하는 2008 Technet 블로그는 매우 오해의 소지가 있습니다.
https://i.stack.imgur.com/wXkmi.png
Mark조차도 글을 썼는지 여부는 의심 스럽지만 그에 대한 내 관점을 바꿀 수 있기를 바랍니다 .....
Foww는 내가 블로그를 얼마나 자주 참조했는지를 고려하지 않은 사람 중 누구도 골치 아픈 기사에 허점을 가지고있다.
- 페이지 파일과 그 위치는 Windows에 의해 처리되며, 디스크로 페이지 아웃 된 위치에 대한 메모리 액세스 트 랩핑은 CPU에 의해 잡히지 만 운영 체제로 전달되어 디스크에서 페이지를 검색하여로드합니다.
어쨌든 여기에 모호한 설명이 없습니다.
Windows가 CPU보다 높은 주소에 도달 할 수 없습니다. 불가능합니다.
OS가 무엇을 할 수 있더라도 OS가 실행되는 하드웨어에 의해 여전히 제한됩니다. OS는 실제로 CPU 자체 (내부 레지스터)이기 때문입니다.
따라서 페이지 파일은 HDD에서 물리적 또는 구조적으로 더 많은 RAM을 사용할 수 없을 때 확장 된 물리적 주소 공간에 사용하는 HDD의 영역입니다.
예를 들어, 세그먼트 x86 32 비트 아키텍처에는 2GB의 2GB RAM이 있습니다.
하나는 커널에 할당됩니다. 다른 2GB는 사용자 모드입니다. CPU가 32 개의 DRAM 핀과 함께 사용할 수있는 모든 RAM 이지만 32 비트 프로세스에는 4GB의 사용 가능한 공간이 있습니다. 운 좋게도 CPU는 2GB의 추가 페이지를 저장하기 위해 보조 스토리지 AKA 하드 드라이브를 사용할 수 있습니다. 내부 레지스터가 있기 때문에
프로세스가 참조하는 가상 페이지를 RAM에 저장할 필요가없는 물리적 위치입니다. 그러나 CPU에 의해 어딘가에 저장되어 있습니다.
CPU는 앱에 4GB RAM을 모두 제공 할 수 는 없지만 HDD를 보조 캐시로 사용하여 4GB의 주소를 제공 할 수 있습니다 (모든 HDD가 실제로 있습니다)
내부 페이징 메커니즘을 통해 페이지가 RAM 안팎으로 이동하지만 페이지 파일과 동일하지 않습니다. 페이징은 항상 발생합니다 ....
결론은 실제로 그렇게 복잡하지 않습니다. 지난 15 년 동안 많은 최종 사용자에게 페이지 파일이 운영 체제의 일부인 인상을 받았습니다. 한번도 없었습니다. 이 오해는 부분적으로 인텔 및 Microsoft와 같은 회사에서 비롯됩니다.
RAM은 빠른 저장 장치이고 하드 드라이브는 느린 저장 장치이므로 기본적으로 RAM은 레벨 1 캐시이고 하드 드라이브는 레벨 2입니다 (이 비유의 CPU 캐시는 무시). 둘 다 CPU에 의해 액세스 될 수 있습니다.
CPU가 필요한 페이지를 저장하기에 충분한 RAM을 사용할 수없는 경우 HDD를 오버플로로 사용할 수 있습니다. RAM이 충분하면 PF가 중복됩니다.
코어 2까지 인텔 프로세서에는 32 핀 DRAM 버스가 있으며 32 개의 레지스터는 CPU가 4GB의 RAM과 4GB의 HDD 공간 (페이지 파일)에 액세스 할 수 있음을 의미합니다. 이것은 Windows 제한이 아닌 아키텍처 하드웨어 제한입니다.
페이지 테이블은 512MB를 차지하므로 프로세스에 사용 가능한 총 용량은 3.5GB입니다. 그렇기 때문에 Intel CPU가 설치된 Windows에서 3.5GB가 표시됩니다 (Core 2까지). GPU를 추가하면 더 적은 용량을 사용할 수 있습니다.
Xeon은 HDD가 포함 된 총 32GB RAM, 64GB의 물리적 공간에 액세스 할 수 있습니다 (페이지 파일 다시). ( 이 ^는 PAE를 다루며, 링크가 추가되어 제공됩니다 .)
http://www.windowsdevcenter.com/pub/a/windows/2004/04/27/pagefile.html
세 번째 스크린 샷 소스 :
System V Application Binary Interface AMD64 아키텍처 프로세서 보완 초안 버전 0.99.7
이 답변을 계속 개선하고 소스 자료 및 관련 정보를 추가하려고합니다. 정보가 충분하지 않고 너무 많은 기술 정보가 균형을 이루고 싶습니다. 제안을 환영합니다. 잘 작성되지 않았기 때문에 공감하지 마십시오.