도움이되는 경우 리소스 모니터는 다른 모든 RAM을 "대기"
"대기"RAM 이 사용 중입니다. 페이지 캐시로 사용되고 있으며 (최근에 모든 프로세스 작업 세트에서 손실 된 페이지를 보유합니다. 즉, 디스크로 이동하지 않고도 페이지 결함을 해결할 수 있음) SuperFetch의 사전 파일 캐시에 사용됩니다.
대기 페이지를 다른 용도로 할당하기 전에 디스크에 쓸 필요가 없기 때문에 "사용 가능"한 것으로 간주됩니다. 프로세스가 페이지 오류 칠 때와 같은 않는 디스크에서 읽을 필요는 새로운 물리적 페이지 (들) 해당 프로세스에 할당해야하며, 필요한 경우 이러한 대기 목록에서 취할 수 있습니다. (이것은이 목적을위한 페이지를 찾기위한 첫 번째 선택이 아니며, 무료이고 그다음 제로 페이지 목록입니다.)
즉, 시스템이 정상적으로 작동하고 있습니다.
Windows 내부testlimit
실험에서 사용되는 도구 중 하나 인 명령 줄 도구를 사용하여 시스템에서 더 많은 RAM을 "사용 중"상태로 만들 수 있습니다 . 일반적인 sysinternals 도구의 일부는 아니지만 관련 도구입니다. 찾을 여기 시스 인 터널 사이트에서. 다운로드는 testlimit.exe 및 testlimit64.exe의 두 가지 버전이 포함 된 zip 파일입니다. 둘 다 큰 주소를 인식하므로 32 비트 버전은 / 3GB로 부팅 된 32 비트 시스템에서 최대 3GiB, 64 비트 시스템에서 최대 4GiB를 할당 할 수 있습니다.
c:\> testlimit -?
도움을줍니다.
c:\> testlimit -d 4 -c 512
는 각각 4MiB의 512 개 할당으로 2GiB의 프로세스 전용 가상 주소 공간을 할당하려고 시도합니다. 64 비트 컴퓨터에서 제대로 작동합니다. / 3GB로 부팅 되지 않은 32 비트 시스템 (대부분은 아님)에서 약간의 초기 b / c 오류가 발생할 수 있습니다 (프로그램 자체, 모든 DLL 등). 프로그램이 할당 할 수있는 전체 2GiB가 없습니다.
두 경우 모두 "사용 가능한"RAM이 줄어들고 "사용 중"RAM이 증가 하지만 OS가 프로세스 개인 작업 세트에 2 GiB를 모두 남겨 둘 것이라는 보장이 없기 때문에 반드시 2 GiB 가치 는 아닙니다. 단기적으로는 그렇게해도 OS가 "음, 실제로는 아무 것도하지 않고 다른 프로세스는 더 많은 것을 필요로한다"고 결정할 때 프로세스 작업 세트가 나중에 줄어드는 것을 볼 수 있습니다.
할당 "청크"의 크기를 너무 크게하여 청크 수를 줄이십시오. 따라서 각 할당이 사실상 연속적이어야하므로 더 빨리 실패 할 수 있습니다. 예를 들어 4GiB 주소 공간에서 7 개의 512MiB 청크를 찾으려고하면 실패 할 수 있습니다.
d (irty) 대신 l (eak) 옵션을 사용하면 프로그램은 가상 공간을 할당하지만 참조하지는 않습니다. 이 것 없다 "가능"RAM의 모든 상당한 감소를 초래한다.
(d (irty) 옵션은 x86 / x64 페이지 테이블 항목의 "더티 페이지 비트"에서 이름을 가져옵니다. 이는 해당 가상 페이지에 "수정"스타일 피연산자로 액세스 할 때 설정되며 이는 페이지의 내용이 이것은 프로세스 작업 세트에서 페이지를 제거해야하는 경우 페이지를 다른 곳에 사용할 수 있기 전에 해당 컨텐츠를 어딘가에 저장해야한다는 Windows의 표시입니다. "더티 (dirty)"비트가 설정된 페이지는 제거 직후 "수정 된 페이지 목록"(Windows는 해당 백업을 해당 백업 저장소에 씁니다.)
위에서 설명한대로 (이 옵션이 상당한 양의 RAM을 사용하지 않더라도 l (eak) 옵션에 대해서도) 이러한 테스트가 작동하려면 충분한 "커밋"이 필요합니다. 특히, 테스트를 시작하기 전에 "커밋 한도"는 "커밋 요금"보다 2GiB 이상 (또는 할당하는 금액)보다 높아야합니다. 이는 d (irty)뿐만 아니라 l (eak) 옵션을 사용하는 경우에도 적용됩니다. 이 한계에 도달하면 "시스템 메모리 부족"팝업 또는 이와 유사한 팝업이 표시됩니다. 물론 치료법은 더 많은 RAM을 추가하거나 페이지 파일 설정을 높이는 것입니다.