디스크 스 래싱 (페이징)을 줄이는 방법은 무엇입니까?


11

나는 4GB의 RAM을 가지고 있지만 Windows는 때때로 디스크를 때리기 시작합니다 (특히 응용 프로그램이 일정 시간 동안 최소화 된 다음 다시 활성화 할 때). 작업 관리자가 2GB의 RAM이 비어 있음을 보여주기 때문에 완전히 바보입니다. Windows가 프로그램 메모리를 스왑 아웃하는 것을 막을 방법이 있습니까?

시작 파일 만 캐시하도록 (일부 도움이 됨) Superfetch 를 설정 하고 페이징 파일을 끄는 방법 (많은 도움이되었으며 Windows XP에서는 제대로 작동했지만 Windows Vista / Windows 7에서는 허용하지 않음- "낮음"으로 표시됨 1GB의 RAM 여유 공간이 있어도 메모리에 오류가 발생했습니다. "

나에게 무엇을 권할 수 있습니까?


6
4GB의 RAM으로 수퍼페치를 끄고 싶지 않지만 인덱싱을 끄고 싶을 수 있습니다. 페이지 파일 만 남겨 두십시오. Windows는 우리보다 그에 대해 더 많이 알고 있습니다. 그래도 페이징을 도울 수 없습니다.
Phoshi

2
아니요, 확실히 끄고 싶습니다. 저주받은 것이 너무 심하게 설계되었습니다. 매번 부팅 할 때마다 게임의 모든 파일을로드하는 것을 발견하고 (저녁 저녁에 사용했던) RAM의 절반을 먹었고 마지막 날은 Superfetch가 무제한 설정으로 PC에서 실행되었습니다.
skevar7

1
스레 싱이라는 용어는 일반적으로 실제 메모리가 가득 찼거나 거의 가득 차서 지속적인 페이지 스왑이 발생하는 상황을 나타냅니다. 정상적인 페이지 스왑 활동을 나타내지 않습니다. 당신이보고있는 것은 스 래싱이 아니라 메모리 관리 알고리즘이 설계된 방식입니다. 새로 생성 된 프로세스에 사용 가능한 공간을 유지하고, 창이 최소화 된 프로세스가 사용되지 않고 메모리를 디스크 등으로 이동시켜야한다고 가정하십시오.

2
창을 최소화했기 때문에 창을 사용하지 않는다고 가정하는 것은 최악의 결정입니다. 최소화 된 경우 멀티 태스킹 중에 화면에 충분한 공간이 없기 때문입니다. 컴퓨터로 돌아가는 것이 너무 아파서 실행중인 프로그램이 거의 없지만, RAM이 부족한 GIG가 있음에도 불구하고 최소화 된 상태에서 일부 창을 복원 할 때 페이지 파일에서 데이터를 다시 가져 오는 데 시간이 걸리고 말더듬이됩니다. RAM이 부족하지 않으면 페이지 파일을 만지지 마십시오. Windows가 최소화 된 프로그램에 대해 가정하고 싶다면 실제로 RAM이 충분하지 않을 때 수행하십시오.
Triynko

답변:


7

Mark Russianovich는 가상 메모리에 대한 좋은 기사를 작성하여 Windows의 한계를 뛰어 넘었습니다
: 가상 메모리

가상 메모리는 프로그램의 메모리보기를 시스템의 실제 메모리와 분리하므로 운영 체제는 프로그램의 코드와 데이터를 실제 메모리에 저장할시기 및 여부와 파일에 저장할시기를 결정합니다. 가상 메모리의 주요 장점은 실제 메모리에 비해 많은 프로세스를 동시에 실행할 수 있다는 것입니다.

가상 메모리에는 실제 메모리 제한과 관련된 제한이 있지만 가상 메모리에는 다른 소스에서 파생되고 소비자에 따라 다른 제한이 있습니다. 예를 들어, 응용 프로그램, 운영 체제 및 시스템 전체를 실행하는 개별 프로세스에 적용되는 가상 메모리 제한이 있습니다. 이 내용을 읽을 때 가상 메모리는 이름에서 알 수 있듯이 실제 메모리와 직접 연결되어 있지 않다는 것을 기억해야합니다. 파일 캐시에 특정 양의 가상 메모리를 할당한다고해서 실제 메모리에 실제로 캐시하는 파일 데이터의 양은 결정되지 않습니다. 가상 메모리를 통해 처리 할 수있는 양보다 많거나 그 이하의 양일 수 있습니다.

아주 잘 읽었습니다.

페이징 파일을 얼마나 커야합니까?
가상 메모리와 관련하여 가장 자주 묻는 질문 중 하나는 페이징 파일을 얼마나 크게 만들어야합니까? 웹과 Windows를 다루는 뉴스 스탠드 잡지에 우스운 조언은 끝이 없으며 Microsoft조차도 잘못된 제안을 발표했습니다. 거의 모든 제안은 RAM 크기에 몇 가지 요소를 곱한 값을 기준으로하며, 일반적인 값은 1.2, 1.5 및 2입니다. 이제 시스템의 커밋 제한을 정의 할 때 페이징 파일이 수행하는 역할과 프로세스가 커밋 요금에 기여하는 방식을 이해했습니다. 그러한 공식이 실제로 얼마나 쓸모가 없는지 알 수 있습니다.


이전 기사 : Windows의 한계 극복 : 실제 메모리

Alex IonescuMeminfo 도구를 사용하여 실제 메모리 레이아웃을 볼 수 있습니다 .


5
저에게는 새로운 것이 없습니다. 그리고 그것은 내 질문에 전혀 답이 아닙니다.
skevar7

2
@ skevar7 : 아마도 당신에게 답이 아니지만,이 주제를 찾고 당신만큼 많은 지식을 가지고 있지 않은 누군가를위한 모든 것에 대한 설명에 대한 좋은 링크입니다.
Gnoupi

1
경험의 원칙 : 문제와 관련하여 절대적인 확신이없는 경우 또는 웹 브라우저와 바이러스 백신 소프트웨어의 경우에도 마찬가지입니다. )

1
나는 페이징이 유죄라고 확신합니다. 필자는 페이징 파일을 끄면 성능이 크게 향상된다는 것을 알고 있습니다. 객관적인 사실이며 측정 할 수 있습니다. 유일한 문제는 Vista가 Windows가 더 이상 그러한 구성에서 작동하기를 원하지 않기 때문입니다.
skevar7

3
@ skevar7 : 아마도 어쩌면 마이크로 소프트에 대해 생각하는 유능한 사람들이있을 수 있으며 그들은 페이지 파일이 필요하다고 생각하고 결정했습니다. 그들은 당신을 귀찮게하기 위해 그것을하지 않았습니다.
Gnoupi

4

가상 메모리 관리를 Windows에 맡기면 잘 작동합니다. 페이징 (따라서 문제에 관한 Mark Russinovic의 블 러브)은 디스크 스 래싱 (시스템 메모리가 풍부 할 경우)과 관련이 없으며 NTFS 조정을 찾고 있습니다.

O'Reilly는 NTFS 성능 해킹 에 관한 흥미로운 기사를 가지고 있습니다.

하드웨어 측면에서 : 회전 속도가 높고 캐시가 더 큰 하드 드라이브를 사용하면 큰 도움이됩니다.

다음은 메모리 부족 경고를 없애고 소유권을 가져와 다음 레지스트리 키를 제거하는 방법입니다.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WDI\DiagnosticModules\ {5EE64AFB-398D-4edb-AF71-3B830219ABF7}]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WDI\DiagnosticModules\ {45DE1EA9-10BC-4f96-9B21-4B6B83DBF476}]

이렇게하면 진단 서비스가 RADAR을로드하지 못하게됩니다. 그것은 Windows Vista에서 나를 위해 작동하며 키는 Windows 7에 있습니다. 나는 시도하지 않았지만 키를 삭제하기 전에 백업하십시오.


2

내가 찾은 유일한 방법은 RAM 크기를 8GB로 늘리고 설정하여 페이징을 끄는 것입니다.

HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ Session Manager \ 메모리 관리 \ DisablePagingExecutive = 1

(재부팅 필요).

이는 디스크 활동을 거의 0으로 줄였습니다.


나는 당신이 그것을 원하는 기발하거나 느린 드라이브를 가지고 있다고 생각합니다. 나는 여기에서 가장 많이 가정하는 것과 비슷하고 반대로, 당신이 한 일이 좋은 해결책이 될 것입니다. RAM을 늘리고 디스크 페이징을 최소화하거나 사용하지 않으면 느린 미디어를 교체하는 것보다 지능적이고 경제적 인 솔루션 일 수 있습니다.
j riv

해당 레지스트리 설정은 "페이징 해제"가 아닙니다. ntoskrnl.exe 및 페이징 풀의 페이징 가능한 부분에 대한 페이징 만 비활성화합니다.
Jamie Hanrahan 1

Vista에 대해 모르지만 Windows 7에서는 페이징을 비활성화하고 문제와 경고가 없습니다. 이것은 8 또는 16GB의 RAM입니다.
i486

1

제어판 \ 시스템 및 보안 \ 시스템> 고급 시스템 설정> [고급]> 성능 : 설정> [고급]을 확인하십시오.

프로세서 예약은 수행하지 말아야 할 페이징 파일을 비활성화하는 기능과 마찬가지로 문제와 관련이 있습니다. (필요)


0

캐시 / 멤버 클리너를 설치 한 것 같습니다. 메모리에 남겨 두지 않고 응용 프로그램을 최소화 할 때 응용 프로그램을 교체하도록 이동합니다.

HD 표시등이 깜박이기 때문에 시스템이 느리거나 방금 단어를 사용하고 있습니까?


클리너가 없습니다. 간혹 간단한 작업 (5-10 초)을 수행하는 데 시간이 더 걸리고 디스크가 스 래싱되는 경우가 있습니다. 일반적으로 앱이 한동안 유휴 상태 인 후에 발생합니다. 매우 간단한 조작-Opera에서 새 탭을 열고 Visual Studio에서 새 파일을 만드는 등 Windows 페이징 알고리즘이 완벽하지 않다고 생각합니다. 페이징 파일을 완전히 끄면 WinXP에서 잘 작동했지만 불행히도 Vista와 Win7에서는 허용하지 않습니다.
skevar7

많은 OS와 달리 Windows는 충돌없이 상당한 양의 하드웨어 문제를 견뎌 낼 것이며 백그라운드에서 일종의 복구가 진행되어 지연을 일으킬 수 있습니다. 나는 짜증나지만 HD 테스트를 실행하여 시스템이 스왑을 사용하지 못하게하면 문제가 사라지기 때문에 실제로 I / O 문제처럼 들리므로 잭이 걸리지 않았는지 확인하십시오. 알려진 문제가있을 수 있으므로 I / O, hd 컨트롤러 등과 관련된 BIOS 업데이트를 확인하십시오. 시스템이 영원히 부팅됩니까 (XP, Vista 또는 7)? 그렇다면 분명히 I / O 문제입니다.
UnderLoK

* "문제를 알리지 않고 상당한 양의 하드웨어 문제를 Windows에서 처리합니다";)
UnderLoK

0

리눅스로 옮기십시오. 그렇지 않습니다.

사람들은 Windows가 당신보다 똑똑하다고 말하고 페이지 파일 설정을 피하지 말아야하며 맞습니다. 그러나이 시스템은 대부분 프로세스에 새로운 메모리를 거의 즉시 할당하도록 조정되어 있습니다. 부작용 중 하나는 메모리에있는 모든 것을 항상 디스크로 옮기는 것이므로 메모리의 새로운 부분이 필요할 때 메모리 의이 부분을 지우고 물론 변경되지 않은 경우 즉시 줄 수 있습니다. 응용 프로그램을 실행 상태로두면 모든 데이터가 디스크에 저장된 다음 다른 응용 프로그램이나 캐싱 시스템 이이 메모리를 사용하기 시작합니다. 따라서 응용 프로그램은 최소한의 데이터를 물리적 RAM에 남겨두고 다시 사용하기 시작하면 디스크에서 모든 것을 다시 가져와야합니다.

즉, 나는 당신이 그것으로 모든 것을 할 수 있다고 생각하지 않습니다. 시스템의 주요 속성 중 하나 일뿐입니다. 페이지를 끄거나 다른 시스템 조정을 수행하면 더 나빠질 수 있습니다. 당신은 그것을 염두에두고 쓰여지지 않았으므로 원하는대로 작동시킬 수 없습니다.


2
그리고 다시 한 번 "내 창은 어떻게합니까?" 그러나 나머지 답변은 정확하지만 첫 번째 문장없이 할 수 있습니다.
Gnoupi

그러나 8GB RAM이 있고 3GB가 실제로 필요한 경우 디스크로 교체해야하는 이유는 무엇입니까? 반면에 2GB 실제 RAM + 2GB 스왑 파일이 있다고 가정합니다.이 시스템이 "폭발"없이 어떻게 작동합니까? 4GB는 모든 것에 충분하지만 8GB 물리적 RAM + 0 스왑을 사용하면 메모리가 충분하지 않을 수 있습니다. 어떻게? 가상 메모리 알고리즘이 Windows 95에서 잘못되었다고 생각하고 Windows 10에서는 변경되지 않습니다.
i486
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.