답변:
TL; DR 버전 : Windows가 메모리 / 페이지 파일 설정을 처리하도록합니다. MS에있는 사람들은 지출 한 많은 우리의 대부분의 시스템 관리자보다는 이러한 문제에 대해 생각보다 시간.
많은 사람들이 Windows가 요청시 페이지 파일로 데이터를 푸시한다고 가정하는 것 같습니다. EG : 무언가 많은 양의 메모리를 원하고, 필요한 RAM이 충분하지 않기 때문에 Windows는이 마지막 순간에 RAM에서 디스크로 데이터를 쓰기 시작하여 새로운 요구에 따라 RAM을 확보 할 수 있습니다.
이것은 올바르지 않습니다. 후드 아래에 더 많은 일이 있습니다. 일반적으로 Windows는 백업 저장소를 유지합니다 . 즉, 메모리에있는 모든 것을 디스크의 어딘가에 보려고합니다. 이제 무언가가 발생하고 많은 메모리가 필요할 때 Windows는 RAM에 데이터를 이미 넣을 수 있기 때문에 RAM을 매우 빨리 지울 수 있습니다 . 따라서 페이지 파일에있는 많은 부분이 RAM 에도 있다고 말할 수 있습니다 . 데이터가되었다 선제 속도를 페이지 파일에 배치 새로운 메모리 할당 요구를.
관련된 특정 메커니즘을 설명하려면 많은 페이지가 필요하지만 ( Windows Internals의 7 장을 참조 하고 곧 새 버전 을 사용할 수 있음에 유의하십시오) 몇 가지주의 할 점이 있습니다. 첫째, RAM에있는 많은 부분이 본질적으로 이미 실행 파일이나 DLL에서 가져온 디스크 프로그램 코드에 이미 있습니다. 따라서 이것은 페이지 파일에 기록 될 필요가 없습니다. Windows는 단순히 비트가 원래 가져온 위치를 추적 할 수 있습니다. 둘째, Windows는 RAM에서 가장 많이 사용되는 데이터를 추적하므로 RAM에서 가장 오래 액세스 한 데이터를 RAM에서 제거합니다.
페이지 파일을 완전히 제거하면 디스크 스 래싱이 더 많이 발생할 수 있습니다. 일부 앱이 실행되고 기존 RAM의 80 %가 필요한 간단한 시나리오를 상상해보십시오. 이로 인해 현재 실행 코드가 RAM에서 빠져 나올 수 있으며 OS 코드 일 수도 있습니다. 이제 다른 앱 또는 OS 자체 (!!)가 해당 데이터에 액세스해야 할 때마다 OS는 디스크의 백업 저장소에서 페이지를 페이징해야하므로 많은 스 래싱이 발생합니다. 임시 데이터의 백업 저장소로 사용할 페이지 파일이 없기 때문에 페이징 할 수있는 유일한 것은 실행 가능한 백업 저장소와 고유 백업 서버가있는 DLL입니다.
물론 많은 리소스 / 사용 시나리오가 있습니다. 페이지 파일을 제거해도 부작용이없는 시나리오 중 하나를 사용하는 것은 불가능하지 않지만 이는 소수입니다. 대부분의 경우 페이지 파일을 제거하거나 줄이면 최대 리소스 활용 시나리오에서 성능이 저하됩니다.
일부 참고 문헌 :
dmo는 가상 메모리를 이해하는 데 도움이되는 최근 Eric Lippert 게시물 을 언급 했습니다 (질문과 관련이 적음). 일부 사람들이 다른 답변으로 스크롤하지 않을 것으로 생각하기 때문에 여기에 넣었습니다.하지만 가치가 있다고 생각 되면 투표권을 가지므로 링크 를 사용 하여 거기에 도착하십시오!
다른 답변에서 볼 수 있듯이 페이지 파일을 비활성화하고 후회하지 않은 유일한 사람입니다. 위대한 :-)
집과 직장 모두 8GB RAM이 장착 된 Vista 64 비트가 있습니다. 둘 다 페이지 파일을 비활성화했습니다. 직장에서 Visual Studio 2008 인스턴스, Windows XP 가상 PC, SQL Server 인스턴스 2 개 및 여러 탭이 함께 작동하는 Internet Explorer 8을 사용하는 것은 그리 유용하지 않습니다. 메모리의 80 %에 거의 도달하지 않습니다.
나는 또한 아무런 문제없이 매일 하이브리드 수면 (수면과 함께 최대 절전 모드)을 사용하고 있습니다.
2GB의 RAM이있는 Windows XP를 사용했을 때 경험을 시작했으며 실제로 차이점을 보았습니다. 전형적인 예는 제어판의 아이콘이 하나씩 표시되지 않고 한 번에 모두 표시되지 않는 경우입니다. 또한 Firefox / Thunderbird 시작 시간이 크게 증가했습니다. 내가 무언가를 클릭하자마자 모든 것이 작동하기 시작했습니다. 불행히도 2GB는 응용 프로그램 사용 (Visual Studio 2008, Virtual PC 및 SQL Server)에 비해 너무 작아서 다시 활성화했습니다.
그러나 지금 8GB로 돌아가서 페이지 파일을 활성화하고 싶지 않습니다.
극단적 인 경우에 대해 말하는 사람들은 Windows XP 시간에서 이것을 사용하십시오.
SQL 쿼리에서 Excel로 큰 피벗 테이블을로드하려고하면 Excel 2000의 메모리 사용량이 매우 빠르게 증가합니다.
페이지 파일을 비활성화하면 약간 기다렸다가 Excel이 종료되고 시스템은 모든 메모리를 지 웁니다.
페이지 파일을 활성화 한 경우-잠시 기다렸다가 무언가 잘못되었음을 알게되면 시스템으로 거의 아무것도 할 수 없습니다. HDD는 지옥처럼 작동하지만 몇 분 후에 작업 관리자를 실행하고 종료하더라도 excel.exe
시스템이 페이지 파일에서 모든 것을 다시로드 할 때까지 잠시 기다려야합니다.
나중에 보았 듯이 Excel 2003은 페이지 파일을 비활성화하지 않고도 동일한 피벗 테이블을 처리하므로 "너무 큰 데이터 집합 문제"가 아닙니다.
내 의견으로는, 비활성화 된 페이지 파일은 때로는 잘못 작성된 응용 프로그램으로부터 보호합니다.
곧 : 메모리 사용량을 알고 있다면 안전하게 비활성화 할 수 있습니다.
편집 : 나는 아무 문제없이 Windows Vista SP2를 설치했다고 덧붙이고 싶습니다.
페이지 파일을 조정하기 전에 시스템에서 메모리를 사용하는 방식을 이해하기 위해 약간의 측정을 수행 할 수 있습니다. 또는 (조정을 계속하려는 경우), 상기 조정 전후 .
Perfmon은이를위한 도구입니다. 작업 관리자가 아닙니다 . 키 카운터는 Memory-Pages Input / sec 입니다. 이것은 프로세스를 계속하기 전에 디스크에서 읽어야하는 하드 페이지 결함 을 구체적으로 그래프 로 표시합니다. 소프트 페이지 폴트 (기본 페이지 폴트 / 초 카운터에 그래프로 표시되는 대부분의 항목 임)이 카운터를 무시하는 것이 좋습니다! RAM에서 정상적으로 읽은 항목 만 표시합니다.
성능 그래프 http://g.imagehost.org/0383/perfmon-paging.png
위는 메모리 단위의 걱정이없는 시스템의 예입니다. 하드 디스크가 항상 RAM보다 크기 때문에 하드 오류가 급증하는 경우가 종종 있습니다. 이러한 문제는 피할 수 없습니다. 그러나 그래프는 거의 0에 평평합니다. 따라서 OS는 백업 저장소에서 거의 페이징하지 않습니다.
당신이보고있는 경우 메모리 - 페이지 입력 / 초 이것보다 훨씬 spikier이다 그래프를 오른쪽 응답 중 낮은 메모리 사용률 (이하 프로그램을 실행) 또는 RAM을 추가하는 것입니다. 페이지 파일 설정을 변경해도 실제보다 많은 메모리가 시스템에서 요구된다는 사실은 변경되지 않습니다.
모니터링 할 편리한 추가 카운터는 PhysicalDisk-Avg입니다. 큐 길이 (모든 인스턴스). 변경 사항이 디스크 사용량 자체에 미치는 영향을 보여줍니다. 올바르게 작동하는 시스템은이 카운터가 스핀들 당 평균 4 개 이하로 표시 됩니다 .
8GB Vista x64 상자를 몇 년 동안 아무런 문제없이 페이지 파일없이 실행했습니다.
메모리를 실제로 사용할 때 문제가 발생했습니다!
3 주 전에 저는 Photoshop에서 정말 큰 이미지 파일 (~ 2GB)을 편집하기 시작했습니다. 하나의 편집 세션이 내 모든 메모리를 차지했습니다. 문제 : Photoshop에 파일을 저장하는 데 더 많은 메모리가 필요하므로 작업을 저장할 수 없습니다!
그리고 모든 메모리를 소비하는 Photoshop 자체이기 때문에 프로그램을 닫아서 메모리를 확보 할 수 없었습니다 (잘 했지 만 너무 도움이되지 못했습니다).
내가 할 수있는 일은 내 작업을 스크랩하고 페이지 파일을 활성화하고 모든 작업을 다시 실행하는 것입니다. 이로 인해 많은 작업을 잃어 버렸으므로 페이지 파일을 사용하지 않도록 권장 할 수 없습니다.
예, 대부분 잘 작동합니다. 그러나 그것이 깨지는 순간 고통 스러울 수 있습니다.
여기의 답변이 주제를 잘 다루었지만 여전히이 읽기를 권장합니다.
http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx
그는 거의 끝에 PF 크기에 대해 이야기합니다.
페이징 파일이 없으면 성능이 향상된다는 느낌이 들지만 일반적으로 페이징 파일이 있으면 Windows가 수정 된 목록에 페이지를 쓸 수 있음을 의미합니다 (이 페이지는 활발하게 액세스되지 않지만 디스크에 저장되지 않은 페이지를 나타냄). 파일을 페이징하여 메모리를보다 유용한 목적 (프로세스 또는 파일 캐시)으로 사용할 수있게합니다. 따라서 페이징 파일없이 더 나은 성능을 발휘하는 워크로드가있을 수 있지만 일반적으로 시스템에 더 많은 사용 가능한 메모리를 사용할 수 있음을 의미합니다 (Windows는 페이징 파일 크기가 크지 않으면 커널 크래시 덤프를 작성할 수 없습니다) 그들을 잡기에 충분합니다).
마크의 기사를 정말 좋아합니다.
내가 생각할 수있는 가장 좋은 대답은 정상적인로드에서는 8GB를 사용하지 않을 수도 있지만 문제가 발생하는 예기치 않은로드입니다.
페이지 파일을 사용하면 페이지에 도달하기 시작하면 시스템이 적어도 느리게 실행됩니다. 그러나 페이지 파일을 제거하면 (내가 아는 것에서) 그냥 죽습니다.
또한 8GB는 현재 많은 것처럼 보이지만 몇 년이 지나면 많은 소프트웨어의 최소 메모리 용량으로 간주 될 수 있습니다.
어느 쪽이든-최소한 작은 페이지 파일을 유지하는 것이 좋습니다. 내가 다른 사람이라면 저를 수정 해주세요.
64 비트 버전의 Windows인지는 언급하지 않았지만 예라고 생각합니다.
페이지 파일은 BSoD (Blue Screen of Death)의 경우 메모리 덤프 생성을 포함하여 많은 것을 제공합니다 .
페이지 파일이 없으면 메모리가 충분하지 않으면 Windows에서 디스크로 페이지 아웃 할 수 없습니다. 8GB에서는 그 한계에 도달하지 않을 것이라고 생각할 수 있습니다. 그러나 시간이 지남에 따라 메모리 누수가 나쁜 프로그램이있을 수 있습니다.
페이지 파일이 없으면 최대 절전 모드 / 대기 모드로 전환 할 수 없다고 생각합니다 (그러나 아직 시도하지는 않았습니다).
Windows 7 / 2008 / Vista는 페이지 파일 사용을 변경하지 않습니다.
Mark Russinovich (Microsoft Fellow)의 한 설명은 페이지 파일이 없으면 페이지 파일이 없으면 Windows가 느릴 수 있다고 설명합니다 (많은 RAM이 있더라도). 그러나 근본 원인을 다시 찾을 수 없습니다.
디스크 공간이 부족합니까? BSoD의 경우 커널 덤프를 가질 수 있도록 최소 1GB를 유지합니다.
내 페이지 파일 (x86 랩톱에서 8GB)을 비활성화하고 2500MB의 여유 공간이 있어도 두 가지 문제가있었습니다.
사용 가능한 메모리 (399,556,608 바이트)가 총 메모리의 5 % 미만이므로 메모리 게이트 검사에 실패했습니다. 결과적으로 들어오는 요청에 서비스를 사용할 수 없습니다. 이를 해결하려면 시스템의로드를 줄이거 나 serviceHostingEnvironment 구성 요소에서 minFreeMemoryPercentageToActivateService 값을 조정하십시오.
3.7GB가 8GB의 5 % 미만인 방법은 결코 알 수 없습니다 !!
얻기 닫기 프로그램은 정보 손실을 방지하기 위해 대화 상자를 내 RAM의 75 %는 내가 프로그램을 닫습니다 말해 대화 상자를 얻을 사용하는 경우. 당신은 레지스트리를 수정하여이 문제를 비활성화 할 수 있습니다 (또는 아마도 '진단 정책 서비스'를 비활성화하여).
결국 나는 다시 다시 켜기로 결정했습니다. 단순하고 단순한 Windows는 페이지 파일없이 사용하도록 설계되지 않았습니다. 페이징없이 실행하도록 최적화되어 있습니다. 메모리의 75 % 이상을 사용하려고하는데 레지스트리를 엉망으로 만들고 싶지 않다면 그렇지 않을 수 있습니다.
여부를 알 수있는 유일한 사람이 당신의 서버 또는 워크 스테이션 "필요"페이지 파일은 당신 성능 모니터 또는 무엇이든 그것이 요즘라고주의를 사용하여. 실행중인 어떤 응용 프로그램, 그들이 무엇을보고 사용, 가장 높은 무슨 수 잠재적으로 볼 수있는 메모리 사용은?
작은 하드 디스크에 1 분의 돈을 절약하기 위해 안정성이 손상 될 수 있습니까?
서비스 팩과 같이 매우 큰 패치를 다운로드하면 어떻게됩니까? 설치 프로그램이 패치를 풀 때보 다 더 많은 메모리가 필요하다고 결정하면 어떻게됩니까? 바이러스 스캐너가이 매우 큰 팩을 스캔하기로 결정한 경우,이 패치 파일의 압축을 풀고 스캔하는 동안 어떤 종류의 메모리 사용이 필요할까요? 패치 아카이브 파일에 아카이브 자체가 포함되어 있지 않기를 바랍니다. 살인 기억 사용 수치.
내가 할 수 당신에게 당신의 페이지 파일을 제거하면 도움보다는 상처의 훨씬 더 높은 확률을 가지고 있다는 것입니다. 나는 왜 당신이 하나도없는 이유를 알 수 없습니다. 제가 그 문제에 대해 잘못된 몇 가지 전문적인 사례가있을 것이라고 확신합니다. 그러나 그것은 완전히 다른 영역입니다.
사용 가능한 총 메모리는 페이지 파일 + 실제 메모리입니다.
핵심 질문은 모든 앱의 예상 총 메모리 사용량과 운영 체제 사용량이 8GB에 가까운 지 여부입니다. 평균 mem 사용량이 2GB이고 최대 메모리 사용량이 4GB 인 경우 페이지 파일을 갖는 것은 의미가 없습니다. 최대 메모리 사용량이 6-7Gb 이상인 경우 페이지 파일을 갖는 것이 좋습니다.
추신 : 미래에 성장을 허용하는 것을 잊지 마십시오!
엄청나게 제한된 사람들이이 주제에 대해 의견을 가지고 있지만 실제로 페이지 파일없이 컴퓨터를 실행 해 본 적이없는 것 같습니다.
거의 시도하지 않은 사람은 거의 없습니다. Windows가 페이지 파일을 어떻게 처리하는지 아는 사람은 거의 없습니다. 실제 RAM이 부족할 때 채워지는 것은 아닙니다. 나는 대부분의 "무료"RAM이 파일 캐시로 사용된다는 것을 몰랐을 것입니다!
페이지 파일을 비활성화하여 성능을 크게 향상시킬 수 있습니다. 시스템은 메모리 부족 오류에 더 취약합니다 (그리고 해당 시나리오에서 응용 프로그램이 어떻게 응답하는지 알고 있습니다-대부분의 경우 OS가 응용 프로그램을 종료 함). 대기 또는 긴 유휴 기간의 시작 시간이 훨씬 빠릅니다.
Microsoft가 실제로 실제 RAM이 없을 때 (및 모든 파일 버퍼가 삭제 된 경우) 페이지 파일 만 사용되도록 옵션을 설정하도록 허용 한 경우 페이지 파일을 사용하지 않도록 설정하면 얻을 수있는 것이 거의 없다고 생각합니다.
이것은 해독제이지만, 약 20 명의 사용자에 대해 Windows Server 2003 터미널 서버를 실행하며 10-15 명이 시간에 로그온하고 8GB의 RAM을 가지고 있습니다. 우리는 페이지 파일로 실행하지 않으며 서버는 이전보다 더 빠르게 실행됩니다. 이것은 분명히 모든 것에 대한 해결책은 아니지만, 우리는 2 년 동안 이런 식으로 운영해 왔으며, 내가 알고있는 문제는 없었습니다.