2013-02-12 2 views
4

디스크 IO 액세스 시간 (실제 전송 속도는 빠르지 만 요청하는 디스크 액세스에는 부여되기까지 몇 초가 걸릴 수 있음)가있는 서버에서 실시간 응용 프로그램을 실행하고 있습니다.응용 프로그램에 대해서만 페이지 파일을 사용하지 않도록 설정 하시겠습니까?

Windows는 사용 가능한 실제 메모리가 많은 경우에도 메모리를 페이지 파일로 이동하므로 일반 응용 프로그램에서는 명시 적으로 디스크에 액세스하지 않더라도 디스크 액세스가 필요할 수 있습니다.

페이지 파일 시스템 전체를 비활성화하는 대신 실용적인 방법으로 응용 프로그램의 페이지 파일을 비활성화 할 수 있습니까?

+1

난 단지 VirtualLock http://msdn.microsoft.com/en-us/library/windows/desktop/aa366895(v=vs.85).aspx 알고있는 메모리의 영역을 실제 메모리로 잠글 수 있습니다. – Eelke

+0

일부 성능 모니터링을 실행하여 페이지 오류가 기본 성능 병목 현상인지 확인 했습니까? – Michael

+0

Windows가 추측 적으로 페이지 파일에 메모리를 _copy_ 할 수 있습니다. RAM이 삭제되거나 응용 프로그램에 디스크 액세스가 필요하다는 것을 의미하지는 않습니다. 이 선점 복사본은 최신 버전이 페이지 파일에 쓰는 유일한 이유이며 배경 쓰기입니다. 미성숙, 조기 최적화에 동의하십시오. – MSalters

답변

4

VirtualLock을 사용하면 프로세스의 가상 주소 공간의 지정된 영역을 실제 메모리에 잠글 수 있습니다. 그러면 영역에 대한 후속 액세스로 인해 페이지 오류가 발생하지 않습니다.

+0

내가 사용하는 라이브러리가 여전히 페이지 결함 일 수 있으므로 걱정됩니다. –

+0

은 공유 DLL이 문제가 될 수 있음에 동의했지만 프로세스 탐색기 기술을 사용하여 해당 섹션을 잠글 수도 있습니다. 그것은 정말로 다른 질문입니다. –

관련 문제