
내 컴퓨터의 메모리를 늘린 이후로 비페이징 풀이 정말 커졌습니다(2GB RAM의 경우 96MB에서 16GB의 경우 715MB로 증가).
프로세스로 인해 작업 관리자가 1MB 미만의 비페이징 풀을 보고하므로 이해할 수 없습니다. 그리고 Poolmon은 가장 큰 비페이징 풀 메모리 사용량으로 35MB를 보고합니다.
이 스크린샷은 시작 직후에 찍은 것이므로 드라이버의 메모리 누수 정도는 아닙니다. 이미지를 만들어 VM에서 시작하면 시작 후 메모리는 350MB만 사용됩니다!
Microsoft는 비페이징 풀 크기를 제한하기 위해 레지스트리에 값을 제공합니다.https://technet.microsoft.com/en-us/library/cc976155.aspx하지만 그렇게 하고 다시 시작해도 문제가 해결되지는 않습니다. 나는 바이트 단위(문서에서 그렇게 말합니다), KB 및 MB 단위로 값을 제공하려고 했습니다. 불운.
Linux에서는 최대 15,2GB의 3D 장면을 렌더링할 수 있습니다. Windows에서는 일부 보호 기능과 이 거대한 풀로 인해 12GB만 사용할 수 있으며 디스크로 교체하기 시작하므로 Linux에서는 1분 24초가 아닌 한 렌더링에 20분 이상이 소요됩니다.
그렇다면 비페이징 풀 크기를 어떻게 제한할 수 있나요?
답변1
많은 메모리가 필요한 프로그램(예: 3D 또는 사진 응용 프로그램)을 실행하고 페이지 파일 사용을 시작하는 데 충분한 메모리를 사용하면 비페이징 메모리가 해제됩니다.
이유는 모르겠지만 페이지 파일이 사용되기 시작하는 정확한 순간에 비페이징 풀이 750MB에서 200MB로 떨어지고 그 이후에도 이 수준을 유지합니다(많은 프로그램을 실행하고 사용하는 몇 시간의 집중 작업 중에 테스트됨). 많은 기억).
내 경우에는 Windows7에서 총 16GB 메모리 중 350MB의 메모리만 블록화합니다(시작 시 총 1GB와 비교). 물론 훨씬 더 많은 메모리가 사용되고 있지만 캐싱을 통해 유용하게 사용할 수 있으므로 프로그램을 더 빠르게 시작하고 디스크 대신 RAM에서 데이터를 읽을 수 있습니다. 이렇게 큰 기본 비페이징 풀은 단순히 메모리 손실이므로 시스템이 필요한 것보다 훨씬 일찍 스왑을 시작하게 만듭니다.
거대한 비페이징 풀 시작 버그는 7 이전 버전의 Windows에서는 발생하지 않습니다.