여유 실제 RAM이있을 때 Windows 7에서 페이지 파일을 사용하는 이유는 무엇입니까?


43

8G 램과 함께 Windows 7 64 비트를 사용하고 있습니다. 사용 후 Windows가 느려집니다. 드라이브가 스레 싱 중입니다. 리소스 모니터 및 디스크 작업을 보면 페이지 파일 (c : \ pagefile.sys)을 사용하는 몇 가지 인스턴스가 있습니다. 실제 메모리를 확인하면 약 2.3G의 사용 가능한 메모리와 700M의 사용 가능한 메모리가 표시됩니다.

Windows가 사용 가능한 메모리와 페이지 파일을 더 많이 사용하지 않는 이유는 무엇입니까? x 램을 어느 정도 남겨 두어야합니까? 물리적 램의 백분율입니까?

내 계획은 메인 드라이브에 대한 더 많은 램과 SSD를 얻는 것입니다. 한편 나는 성능 저하로 고통 받고 있습니다.


1
페이지 파일에 쓰기 / 읽기라고해서 파일을 사용한다는 의미는 아닙니다. 갑작스러운 요구가있을 경우 메모리를 더 빨리 덤프 할 수 있도록 업데이트하는 것일 수 있습니다. 성능 모니터를 실행 하거나 심도있는 진단을 수행 하고 부진의 원인을 파악 하는 것이 좋습니다 .
Scott Chamberlain

8GB 이상의 RAM이 있으면 99. (9) %의 경우 성능이 향상되지 않습니다. 저렴한 저주파 / 고 지연 시간 RAM 칩으로 모보를 가득 채웠습니까? 그것들을 교체하는 것이 더 추가하는 것보다 낫습니다.
kotekzot

3
@kotekzot 그것은 달려 있습니다. 일반적으로 대부분의 병목 현상에서 RAM 대기 시간이 다소 무시할 만하다는 것을 알았습니다. 메모리를 충분히 확보하여 모든 애플리케이션을 검색 할 때 응용 프로그램이 페이징 될 때까지 기다릴 필요가없는 경우, 몇 배나 큰 다음 병목 현상은 거의 항상 하드 드라이브이며 SSD는 바로 그 문제를 해결합니다. 쪽으로.
다스 안드로이드

@ 램이 더 있으면 페이지 액세스를 HD 액세스보다 훨씬 빠른 램 디스크에 넣을 수 있습니다. Dell 노트북 워크 스테이션 수준이므로 구성 요소가 저렴하지 않다고 확신합니다. 랩톱은 데스크탑보다 하드 드라이브와 IO 하위 시스템이 느리다는 것을 알고 있습니다.
Tony_Henrich 23시 06 분

1
페이지 파일을 RAM 디스크에 넣지 마십시오. 그러면 시스템에 더 많은 페이지 오류가 발생합니다. 그렇습니다. RAM상의 pagefile 디스크에 있다면 실제 디스크로 갔을 때보 다 더 빨리 해결되지만 전혀 갖지 않는 것이 훨씬 빠릅니다. 또한, 증가 된 페이지 결함 중 다수는 매핑 된 파일에 대한 것이며 RAM 디스크에서 전혀 도움이되지 않습니다.
Jamie Hanrahan

답변:


33

먼저 페이지 파일을 SSD에 배치하지 마십시오. SSD는웨어 레벨링에 대해 더 좋아졌지만 페이지 파일은 자주 작성되며 일반적인 사용보다 훨씬 빠르게 SSD를 저하시킵니다.

많은 사람들이 이해하지 못하는 것은 창에는 실제로 여유 메모리가 없다는 것입니다. 버스트 요구에 대비하여 여유 공간이있는 몇 MB가 있지만 활성 사용중인 응용 프로그램 메모리와 총 메모리의 차이는 일반적으로 "대기"메모리에 의해 소비됩니다.

시스템 메모리

필요한 경우 덤프 할 수있는 메모리 페이지 (대기 메모리는 큰 캐시)이므로 응용 프로그램의 관점에서 볼 수 있지만 사용되지는 않습니다. 일반적으로 디스크 캐시 또는 페이지 파일 캐시로 작동합니다.

Windows의 목표는 사용 패턴을 기반으로이 대기 캐시에서 사용될 가능성이 가장 높은 데이터를 유지하는 것입니다. 고려 된 예제를 사용하려면이 대기 메모리에서 데스크탑의 내용을 캐싱하는 것보다 Windows Update와 같은 프로그램 (일반적으로 일주일에 한 번 실행되도록 구성된)의 개인 메모리의 상대 값을 비교해 보겠습니다.

대부분의 시간 동안 Windows Update는 잠자고 있습니다. 일정이 다가 오기를 기다리는 동안 메모리를 잡고 대부분의 경우 아무런 가치가 없습니다. 반면 데스크탑 폴더의 내용은 특히 파일을 저장하려는 경우 지속적으로 쿼리 될 수 있습니다.

이 경우 Windows는 Windows Update에 할당 된 메모리를 페이징 아웃합니다 (메모리가 "전체"가 아니더라도 RAM에 사용 가능한 공간을 사용하여 데스크탑의 내용을 캐시합니다). 당신.

Windows는 수천 가지의 결정을 내리고 백그라운드 서비스에 의해 수백 개의 파일에 지속적으로 기록되는 디스크 캐시를 관리하면서 활성 응용 프로그램의 메모리 요구와 균형을 유지하려고합니다. 때로는 잠시 동안 잘못되어 때로는 백그라운드에서 잠자고있는 응용 프로그램으로 전환 할 때 데이터를 메모리로 다시 페이지로 보내야 할 수도 있습니다. 그러나 응용 프로그램을 메모리에 완전히 보관했다면 디스크 쓰기 및 읽기가 완료되기를 기다리는 몇 개의 다른 응용 프로그램이 다운되거나 스스로 페이징 아웃해야하는지 생각해야합니다. 그 동안 사용했던 응용 프로그램 인 경우 어떻게합니까?


응용 프로그램은 시작 코드 (한 번 사용 된 후 필요하지 않음), 종료 코드 (한 번 사용 된 후 필요하지 않음) 또는 업데이트 코드와 같이 매우 드물게 사용되는 메모리 페이지를 자주 할당합니다. 훨씬 더 중요한 용도가있을 때이 모든 것을 메모리에 유지하는 것은 실용적이지 않으므로 Windows가 현재 응용 프로그램의 작동에 필요하지 않은 코드 섹션을 식별하면 해당 섹션을 페이지 파일로 행복하게 페이지 아웃합니다. 기술적으로 메모리에 유지할 수 있습니다.

(실제로 응용 프로그램에 따라 시스템은 실제보다 더 많은 메모리를 할당 할 수 있으며 대부분의 페이지가 종료 될 것으로 예상합니다. 자세한 메모리 분석을 보려면 "Commit"또는 "Commit"청구 Windows가 다양한 응용 프로그램에 할당 한 메모리 크기입니다. 페이지 메모리는이 메모리를 보호하기에 충분한 실제 RAM이 없어도이 메모리를 보장하는 데 사용됩니다.)


방금 질문에 사용 가능한 메모리와 사용 가능한 메모리를 구분 한 것으로 나타났습니다. 강의를 받고 이미 그 차이를 알고 있다면 사과드립니다. 사용 가능한 메모리는 항상 0입니다. 그러나 대기 메모리는 해제 할 수있는 메모리이지만 항상 빠르게 해제 할 수있는 메모리는 아닙니다. 1GB 파일을 디스크에 쓰려고하면 Windows는 가능한 경우 메모리의 디스크 캐시에 파일을 넣고 천천히 백그라운드의 하드 드라이브에 씁니다. 응용 프로그램이 50MB의 추가 메모리를 요청해야하지만이 거대한 디스크 캐시가 여전히 플러시되어 사용 가능한 메모리가 없으면 사용 가능한 응용 프로그램이 중단 될 때까지 중단됩니다. 작은 버퍼를 유지하면 시스템은 사용자 입장에서 지연을 최소화하면서이 문제를 해결할 수 있습니다.


6
@FrankComputer 8GB 작업 시스템 용으로 게시 한 스크린 샷을 참조하십시오 : 6300MB 사용 중, 1700MB 대기 디스크 / 캐시, 42MB 여유 공간. 내 홈 시스템 (32GB 메모리)을 보면 실제로 정확하지만 잘못된 임계 값 인 9.2GB 사용 중, 14.5GB 디스크 캐시, 8.6GB 사용 가능. 창에 캐시 할 항목이 부족한 경우 사용 가능한 메모리가 충분하지만 임계 값이 상당히 높습니다. 디스크 캐시는 스왑 공간이 아니기 때문에 Windows가 지속적으로 스왑되지 않습니다. 캐시가 아닌 파일이 요청 될 때 수동으로 캐시됩니다. 캐시에서 가져 오는 시간을 알지 못하고 HDD 활동이 없습니다.
다스 안드로이드

8
@ FrankComputer : 시스템 성능이 좋으면 사용 가능한 메모리가 아닙니다. 사용 가능한 메모리는 시스템에서 사용 하지 않는 메모리이며 책상에 앉아있는 메모리보다 성능에 더 이상 영향을 미치지 않습니다. 메모리로 성능을 향상시키는 유일한 방법은 메모리를 사용하는 것입니다. 따라서 무료 인 경우 성능을 향상시키는 데 사용되지 않습니다. 더 많은 메모리를 확보한다는 것은 더 적은 메모리를 사용하여 성능을 악화시키는 것을 의미합니다.
David Schwartz

1
@Tony_Henrich 페이지 파일 비활성화가 잘못되었습니다. 아주 나쁜. 페이지 파일을 램 디스크로 옮기는 것은 실제로이를 비활성화하는 것과 같습니다. Windows는 메모리에서 즉시 필요로하지 않는 데이터를 이동할 수 없습니다. 많은 프로그램이 즉시 필요하지는 않지만 나중에 필요할 수있는 메모리를 요청합니다. 일반적으로 Windows는이 메모리를 페이지 파일에 할당하며 아무 것도 수행하지 않습니다. 예를 들어. MSSQL 서버는 시작할 때 8GB의 램을 할당합니다. 데이터베이스가 0 인 경우에도 마찬가지입니다. 으니까. 당신이 램 디스크에 페이지 파일을 넣을 경우, 그렇지 않으면 캐시에 사용할 수있는 RAM의 상당한 양을 낭비
다스 안드로이드

1
@Tony_Henrich 현재 Windows는 시스템 사용 방식에 따라 페이지 파일과 RAM을 최적으로 관리합니다. 메모리를 추가하거나 OS를 SSD로 이동하십시오. 페이지 파일을 잘못 처리하면 전체 시스템 성능이 최상으로 저하되거나 최악의 경우 시스템 안정성에 영향을줍니다.
Darth Android

1
Windows에서 메모리로 수행하는 작업을 설명하고 있습니다. 사용 가능한 메모리가 많으면 응용 프로그램이 절전 모드인지 또는 아무것도하지 않는지 여부에 관계없이 Windows에서 메모리를 사용해야합니다. 메모리를 사용할 수있을 때 메모리에 유지하는 데 어떤 해가 있습니까? 메모리가 부족 해지면 페이지 파일 인 경우 Windows에서 사용할 수 있습니다. 페이지 파일을 사용하면 드라이브가 손상 될 수 있습니다. 메모리 사용에 마모가 없습니다. 둘째, 내 페이지 파일에 SSD를 사용합니다. SSD의 수명은 하드 드라이브보다 작고 글씨가 많이 쓰여도 여전히 몇 개월이 걸리지 않습니다. 아직 몇 년입니다.
Tony_Henrich

4

이를 미리 계획이라고합니다.

RAM이 여전히 충분한 경우 페이지 파일에 메모리 페이지를 작성하는 것이 좋습니다. 프로그램이 사용 가능한 메모리보다 많은 메모리를 요청하자마자 OS는 가능한 한 빨리 공간을 비울 수 있습니다. 나중에보다 지금 준비하는 것이 좋습니다.

OS가 대기하는 경우 성능 병목 현상이 발생합니다. 프로그램이 사용 가능한 것보다 많은 메모리를 요구하면 OS가 변경된 메모리 블록을 쓸 때까지 기다려야합니다.


16G + 및 간단한 프로그램을 사용하면 프로그램이 사용 가능한 것보다 많은 메모리를 요구하는 시간이 페이지 파일을 자주 사용하는 것보다 훨씬 적습니다. 이러한 경우 여유 메모리를 사용하고 페이지 파일을 적게 사용하는 것이 좋습니다. 모든 경우에 적합한 솔루션은 없습니다.
Tony_Henrich 5

1
나는 당신이 그것을 얻을 생각하지 않습니다. 둘 중 하나 일 필요는 없습니다. Windows는 여유 메모리 쓰거나 페이지 파일에 쓸 수 있습니다. 그것은뿐만 페이지 파일에 쓰는 것과 같다 또는 메모리에 기록.
surfasb

1
그러나 미리 계획을 세워도 Windows가 HDD / SDD의 온칩 캐시를 잠재적으로 채우지 않아 동시 파일 쓰기 /로드 작업이 느려지지 않습니까? 이 RAM 사전 교체는 좋은 생각처럼 들리지만 우연히 시스템에 부하를 가하는 것처럼 보입니다.
binki

1
@ binki : 그렇습니다. 디스크 읽기 / 쓰기 시간을 방해하지만 기억하면 낮은 우선 순위를 사용하므로 다른 읽기 쓰기가 일반적으로 먼저 수행됩니다.
Mooing Duck


2

지난 7 년 동안 페이지 파일이 꺼졌습니다. 실제로 새로 설치 한 후 가장 먼저하는 일입니다. 문제가 없었습니다. (실제로 나는 "titan quest"라는 게임을 시작할 때 매우 어리석은 점검을 수행하여 4MB 페이지 파일을 만들어 행복하게 만들고 나중에 PF를 다시 해제했습니다). 원래 질문에 관해서는. Windows는 디스크 I / O 캐시에 RAM을 사용합니다. 어떤 이유로 디스크 캐시가 활성 프로그램 코드 및 데이터에 똑같이 중요하다고 생각합니다. 디스크 캐시 크기를 제한 할 방법이 없습니다. 그것은 디자인에 의해 거기에 있고 우리는 그것에 대해 아무것도 할 수 없습니다 ... 아, 기다려! 우리는 할 수 있습니다! 페이지 파일을 끄십시오. RAM이 많은 응용 프로그램을 실행 중입니까? 다른 RAM을 시작하기 전에 더 많은 RAM을 구입하거나 하나의 앱을 닫으십시오. 프로세스 탐색기를 사용하여 주어진 순간에 얼마나 많은 메모리가 사용되는지 확인할 수 있습니다.


1
페이지 파일을 제거해도 디스크 캐싱이 해제되지 않습니다.
Jamie Hanrahan

1
당신은 썼다 : "[디스크 캐싱 등이] 디자인이 우리가 그것에 대해 아무것도 할 수 없습니다 아, 우리는 그냥 페이지 파일을 해제 할 수 있습니다 기다립니다.!." 글쎄, 페이지 파일을 끄더라도 디스크 캐싱에 대해서는 아무런 영향을 미치지 않습니다. 어쨌든 OS가 모든 개인 커밋을 만지면 RAM에 영원히 유지하도록 강제하기 때문에 어리석은 생각입니다 . 이렇게하면 코드와 같은 매핑 된 가상 메모리를위한 공간이 줄어들므로 페이지를 더 많이 페이징해야합니다. 사전 디스크 캐시 (슈퍼 페치)는 위의 모든 작업 후에 남은 내용을 사용하므로 페이징을 늘리지 않습니다.
Jamie Hanrahan

1
나는 페이지 파일을 끄는 것이 당신의 아이디어라고 결코 말하지 않았다. 그래서 나는 "당신의 아이디어"에 대해 아무 말도하지 않았습니다. 오, 내가 여기있는 동안 : "어떤 이유로 [윈도우]는 디스크 캐시가 활성 프로그램 코드와 데이터에 똑같이 중요하다고 생각합니다" 슈퍼 플라이트는 대기 목록에있는 페이지 만 사용하므로 " RAM "; 프로그램 코드 및 데이터에서 페이지를 가져 오지 않음. 그리고 해당 페이지 파일에서 캐시 된 데이터를 포함한 후에도 프로그램 코드 및 데이터에 즉시 사용 가능합니다.
Jamie Hanrahan

1
나는 아무 말도하지 않습니다. (어떻게 얻을 수 있습니까?) 그러나 Windows는 디스크 캐시를위한 공간을 만들기 위해 어떤 것도 페이징하지 않습니다. 반대로, 캐시가있는 페이지를 사용 하지 현재 프로세스의 일부이므로, 그렇지 않으면 낭비 될 수 있습니다. 이러한 RAM 남아 즉시 물건을 페이징을 위해 그것을 필요로 코드와 데이터를 사용할 수 가 캐시에서 "최대 사용"되지 않도록은 단지 "빌려". 따라서 캐시는 RAM으로 페이징되거나 유지 될 수있는 코드 및 데이터의 양을 줄이지 않습니다. 참조 : Solomon, Russinovich 및 Ionescu의 Windows 내부 .
Jamie Hanrahan

1
나는 이미 DA의 대답에 대답했다. 그러나 당신이 방금 말한 것은 그가 말한 것이 아닙니다. 그는 Windows가 긴 비활성 프로세스를 페이지 아웃 할 것이라고 말했다 (true). 또한 그는 디스크 캐시가 해제 된 페이지를 사용할 수도 있다고 말했다. 그러나 이것이 디스크 캐시가 반드시 우선한다는 것을 의미하지는 않습니다. 디스크 캐시는 우선 순위가 더 높은 다른 페이지가 필요한 경우에만 해당 페이지를 사용합니다. 엄청난 양의 테스트에서 이것이 좋은 트레이드 오프임을 보여주었습니다.
Jamie Hanrahan

1

충분한 RAM이 있어도 페이지 파일을 유지하고 사용하기위한 인수 ( herehere )는 다음과 같습니다.

  • 현재 사용 가능한 메모리가 있어도 나중에 메모리가 부족할 수 있습니다. 메모리의 거의 사용되지 않은 부분을 디스크에 미리 드롭하는 것이 좋습니다.
  • 사용 가능한 것으로 나타나지만 실제로 디스크 캐싱에 사용되는 "대기"메모리도 있습니다. 성능에 있어서도 중요합니다.
  • 페이지 파일을 비활성화 한 상태에서 RAM이 부족하면 하드 크래시입니다.
  • 2, 4, 16 또는 다른 수의 Gb RAM은 "많은"것처럼 보일 수 있지만 이것은 생각만큼 사실이 아닐 수 있습니다. 프로파일 링해야합니다.

Windows 리소스 모니터를 사용하면 캐싱에 사용되는 RAM 양 ( "대기"로 표시)을 확인할 수 있습니다.

RAM이 실제로 사용 중이거나 대기중인 경우 페이지 파일이 유용합니다. 귀하의 작업과 사용 가능한 RAM의 조합이 메모리의 상당 부분이 사용되지 않는 것으로 보이는 경우 ( "무료"), "잘 알고 여기에서 말하는 사람에 대해 하드 드라이브를 갈아 둘 필요가 없다고 생각합니다." ".


-2

이 모든 의견과 정답이 없습니다. 페이지 파일을 끕니다. 8GB RAM에는 필요하지 않으며 더 많은 RAM이 필요하면 구입하십시오. 정말 간단합니다.


4
Windows는 페이지 파일에 넣을 내용을 결정하는 데 매우 영리합니다. 거의 순전히 이론적 인 시나리오를 제외하고,이를 끄면 8GB RAM이 있더라도 성능이 저하됩니다. 정답이 없어도 확실하지 않습니다.
Marcks Thomas

4
"유해 성능"주장을 뒷받침하는 증거가 있습니까? MS 기사 support.microsoft.com/kb/889654
a2552308 1

6
간단히 말해 : 페이지 파일은 디스크 활동 만 증가시킬 수 있으며 Windows는 RAM이 많은 경우 전혀 사용하지 않을 정도로 똑똑하지 않습니다. SSD 시스템에서는 이것이 눈에 띄지 않을 수 있으며 스핀들 시스템에서는 응용 프로그램 성능에 많은 영향을 줄 수 있습니다. 원본 포스터를 참조하십시오.
a2552308

2
MS 기사의 관련 섹션 : "그러나 컴퓨터에 RAM이 추가 될수록 페이지 파일의 필요성이 줄어 듭니다. 컴퓨터에 충분한 RAM이 설치되어 있으면 페이지 파일이 필요하지 않은 경우 페이지 파일이 전혀 필요하지 않을 수 있습니다 특정 응용 프로그램에 의해. " 링크 한 많은 기사에서 관련 섹션을 찾을 수 없습니다. 관련 섹션을 인용 할 수 있습니까?
a2552308

2
이론적으로는 좋지만 실제로 관찰 한 것은 아닙니다.
a2552308
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.