나는 디스크 속도가 느리고 스왑 없는 시스템을 실행하기 때문에 캐시 크기를 줄이고 싶습니다(그렇게 하면 매우 빠릅니다). x86 Vista와 3GB RAM이 있습니다. 문제는 Windows가 디스크 캐시(작업 관리자의 실제 메모리 -> 캐시됨)에 약 1GB RAM을 소비하고, 응용 프로그램용으로 2GB만 남는다는 것입니다. Windows에서 메모리가 부족하다고 판단하고 메모리를 사용할 때 앱이 충돌할 때마다 매우 짜증나는 팝업이 나타납니다. 하지만 캐시에는 여전히 1GB가 남아 있습니다!
AnalogX Cache Booster를 사용해 보았지만 아무것도 하지 않았고, 메모리 사용량도 그대로 유지되었으며, 경고 팝업도 같은 수준이었습니다.
답변1
나는 ... 스왑이 없는 시스템을 가지고 있습니다.
나도 같은 생각을 했었다. 그 이후로 나는 MS Windows에서 이것이나쁜아이디어와 실제로 할 수아프다성능.
Windows는 RAM을 하드 디스크에 대한 최적화 계층으로 생각합니다. RAM을 디스크로 페이징/교체하기 전에 RAM을 교체해야 할 때까지 기다리고 싶지 않습니다. 대신 Windows는 RAM에 넣은 모든 것을 원합니다.이미페이징/스왑될 수 있습니다.
이렇게 하면 Windows에서 다른 용도로 RAM이 필요할 때 이를 사용할 수 있습니다. 이 전략은 컴퓨터가 스트레스를 덜 받는 지점에 (느린) 디스크 쓰기를 배치하기 때문에 작동합니다. 대신 응용 프로그램 로드가 약간 느려지고 컴퓨터가 작동하는 지점이 아닌 필요하지 않은 일부 항목을 페이징할 수도 있습니다. 이미 스트레스를 더 많이 받고 RAM이 부족합니다.
물론 페이징 파일을 완전히 제거하면 두 가지 장점을 모두 얻을 수 있다고 생각하는 경향이 있습니다. 그러나 Windows에는 방금 설명한 성능 모델을 가정하여 최적화된 코드가 많이 있습니다. 적어도 RAM만큼의 스왑 공간이 있는지 확인하는 것이 더 좋습니다.
답변2
기본적으로 Vista(및 이후 버전) x86에서는 2GB만 허용합니다.가상각 프로세스에 대한 메모리 하나의 애플리케이션에 더 많은 용량이 필요한 경우(예: 3GB) 다음과 같이 늘릴 수 있습니다.
bcdedit /set IncreaseUserVa 3072
그러나 이는 "대형 주소 인식" 플래그와 연결된 실행 파일에 대해서만 작동합니다. 다른 exe를 실행하는 프로세스는 여전히 2GB로 제한됩니다.
실제 RAM은 응용 프로그램과 시스템 모두에 필요에 따라 할당됩니다.
이것이 귀하의 문제는 아닌 것 같으므로 먼저 메모리 사용을 최적화하려면 다음을 수행하십시오.Windows Vista에서 SuperFetch 비활성화:
Windows Vista의 SuperFetch 서비스는 가장 자주 사용하는 응용 프로그램을 시스템 메모리에 미리 로드합니다. 이렇게 하면 해당 응용 프로그램을 훨씬 더 빠르게 시작할 수 있지만 시스템 조정자나 게이머에게는 원치 않는 동작이 될 수 있습니다.
둘째, 디스크 캐시 크기를 제어하기 위해,AnalogX 캐시부스터하드 디스크 캐시를 조정할 수 있는 무료 도구이지만(직접 시도한 적은 없음) 아래 정보를 볼 때 도움이 될지 확신할 수 없습니다.
에 설명된 대로Windows Vista 메모리 조정 가이드, 디스크 캐시 매개변수는 레지스트리에 있습니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management
몇 가지 중요한 매개변수는 다음과 같습니다.
비활성화PagingExecutive비활성 커널 모드 드라이버와 시스템 코드를 RAM에서 해제하고 페이지 파일로 페이징하는 방법을 제어합니다. 불행하게도 페이지 파일이 없으므로 시스템 코드가 교체되지 않습니다.
LargeSystemCache다음과 같이 파일 시스템 캐시의 크기를 제어합니다.
- 0(기본값) 표준 크기의 파일 시스템 캐시가 할당됩니다(10MB RAM 미만).
- 1에서는 대용량 파일 시스템 캐시를 사용할 수 있습니다(최대 총 RAM 용량에서 4MB를 뺀 용량!)
귀하의 경우 이 값이 0이면 디스크 캐시가 이미 가능한 한 작은 것입니다. 얻는 성능이 만족스럽지 않다면 하드웨어에 투자해야 합니다. 즉, 더 많은 RAM이나 더 빠른 하드 디스크를 선택해야 합니다. RAM을 3GB에서 4GB로 늘리면 64비트 버전의 Windows로 넘어가지 않는 한 (1GB - 비디오 메모리)만 증가합니다.
답변3
Windows에서 메모리가 부족하다고 판단하고 메모리를 사용할 때 앱이 충돌할 때마다 매우 짜증나는 팝업이 나타납니다.
이 팝업은 RAM 및 Windows 캐시와 관련이 없습니다. 이는 커밋 제한이 초과되었음을 의미합니다. 이는 프로세스가 할당할 수 있는 개인 가상 주소 공간의 크기에 대한 제한입니다.
커밋 제한을 늘리는 방법에는 세 가지가 있습니다. 1) 한 번에 더 적은 작업 또는 더 작은 작업을 실행합니다. 2) RAM을 늘리십시오. 3) 페이지 파일 크기를 늘리십시오. 이는 커밋 제한이 단순히 RAM 크기에 페이지 파일의 현재 크기를 더한 크기이기 때문입니다.
OS 디자이너가 의도한 대로 페이지 파일을 활성화하면 이러한 메시지가 표시되지 않으며 프로그램이 충돌하지 않을 것입니다.
그리고 CausingUnderflowsEverywhere가 의견에서 말한 내용에도 불구하고 프로그램이 필요한 가상 메모리를 할당할 수 있도록 페이지 파일이 필요한 경우가 있습니다.사용 가능한 RAM이 충분하더라도, 페이지 파일이 실제로 사용되지 않더라도 마찬가지입니다. 이유는 내 답변을 참조하세요.여기그리고여기에 링크 설명을 입력하세요여기.
참고: 작업 관리자가 보고한 "캐시된" RAM의 대부분은 여전히 "사용 가능"합니다. SuperFetch 캐시는 실제로 RAM을 "사용"하지 않습니다. "캐시"가 문제의 원인이 아닙니다. 페이지 파일이 부족합니다.