먼저 페이지 파일을 SSD에 배치하지 마십시오. SSD는웨어 레벨링에 대해 더 좋아졌지만 페이지 파일은 자주 작성되며 일반적인 사용보다 훨씬 빠르게 SSD를 저하시킵니다.
많은 사람들이 이해하지 못하는 것은 창에는 실제로 여유 메모리가 없다는 것입니다. 버스트 요구에 대비하여 여유 공간이있는 몇 MB가 있지만 활성 사용중인 응용 프로그램 메모리와 총 메모리의 차이는 일반적으로 "대기"메모리에 의해 소비됩니다.
필요한 경우 덤프 할 수있는 메모리 페이지 (대기 메모리는 큰 캐시)이므로 응용 프로그램의 관점에서 볼 수 있지만 사용되지는 않습니다. 일반적으로 디스크 캐시 또는 페이지 파일 캐시로 작동합니다.
Windows의 목표는 사용 패턴을 기반으로이 대기 캐시에서 사용될 가능성이 가장 높은 데이터를 유지하는 것입니다. 고려 된 예제를 사용하려면이 대기 메모리에서 데스크탑의 내용을 캐싱하는 것보다 Windows Update와 같은 프로그램 (일반적으로 일주일에 한 번 실행되도록 구성된)의 개인 메모리의 상대 값을 비교해 보겠습니다.
대부분의 시간 동안 Windows Update는 잠자고 있습니다. 일정이 다가 오기를 기다리는 동안 메모리를 잡고 대부분의 경우 아무런 가치가 없습니다. 반면 데스크탑 폴더의 내용은 특히 파일을 저장하려는 경우 지속적으로 쿼리 될 수 있습니다.
이 경우 Windows는 Windows Update에 할당 된 메모리를 페이징 아웃합니다 (메모리가 "전체"가 아니더라도 RAM에 사용 가능한 공간을 사용하여 데스크탑의 내용을 캐시합니다). 당신.
Windows는 수천 가지의 결정을 내리고 백그라운드 서비스에 의해 수백 개의 파일에 지속적으로 기록되는 디스크 캐시를 관리하면서 활성 응용 프로그램의 메모리 요구와 균형을 유지하려고합니다. 때로는 잠시 동안 잘못되어 때로는 백그라운드에서 잠자고있는 응용 프로그램으로 전환 할 때 데이터를 메모리로 다시 페이지로 보내야 할 수도 있습니다. 그러나 응용 프로그램을 메모리에 완전히 보관했다면 디스크 쓰기 및 읽기가 완료되기를 기다리는 몇 개의 다른 응용 프로그램이 다운되거나 스스로 페이징 아웃해야하는지 생각해야합니다. 그 동안 사용했던 응용 프로그램 인 경우 어떻게합니까?
응용 프로그램은 시작 코드 (한 번 사용 된 후 필요하지 않음), 종료 코드 (한 번 사용 된 후 필요하지 않음) 또는 업데이트 코드와 같이 매우 드물게 사용되는 메모리 페이지를 자주 할당합니다. 훨씬 더 중요한 용도가있을 때이 모든 것을 메모리에 유지하는 것은 실용적이지 않으므로 Windows가 현재 응용 프로그램의 작동에 필요하지 않은 코드 섹션을 식별하면 해당 섹션을 페이지 파일로 행복하게 페이지 아웃합니다. 기술적으로 메모리에 유지할 수 있습니다.
(실제로 응용 프로그램에 따라 시스템은 실제보다 더 많은 메모리를 할당 할 수 있으며 대부분의 페이지가 종료 될 것으로 예상합니다. 자세한 메모리 분석을 보려면 "Commit"또는 "Commit"청구 Windows가 다양한 응용 프로그램에 할당 한 메모리 크기입니다. 페이지 메모리는이 메모리를 보호하기에 충분한 실제 RAM이 없어도이 메모리를 보장하는 데 사용됩니다.)
방금 질문에 사용 가능한 메모리와 사용 가능한 메모리를 구분 한 것으로 나타났습니다. 강의를 받고 이미 그 차이를 알고 있다면 사과드립니다. 사용 가능한 메모리는 항상 0입니다. 그러나 대기 메모리는 해제 할 수있는 메모리이지만 항상 빠르게 해제 할 수있는 메모리는 아닙니다. 1GB 파일을 디스크에 쓰려고하면 Windows는 가능한 경우 메모리의 디스크 캐시에 파일을 넣고 천천히 백그라운드의 하드 드라이브에 씁니다. 응용 프로그램이 50MB의 추가 메모리를 요청해야하지만이 거대한 디스크 캐시가 여전히 플러시되어 사용 가능한 메모리가 없으면 사용 가능한 응용 프로그램이 중단 될 때까지 중단됩니다. 작은 버퍼를 유지하면 시스템은 사용자 입장에서 지연을 최소화하면서이 문제를 해결할 수 있습니다.