.NET
LAN을 통해 웹 애플리케이션 에 대한 부하 테스트를 실행하고 있습니다 . 웹 앱을 호스팅하는 서버는 2GB RAM과 3GB 가상 메모리 제한을 갖춘 VM인 Windows Server 2008 R2입니다. 다른 웹 응용 프로그램이 실행되고 있지 않습니다.
테스트는 1시간 40분 동안 실행되며 10분마다 부하가 증가합니다.
로드 테스트 중에 메모리 사용량을 기록했는데 perfmon
, 메모리가 1.5GB에서 시작하여 1시간 20분 후에 3.37GB 제한에 도달할 때까지 증가한 다음 메모리가 다시 1.5GB로 떨어지는 것을 확인했습니다.
왜 이런 일이 일어나는지 이해할 수 없습니다. Windows 메모리 관리에서 이 작업을 수행하고 있다면 그 이유는 무엇입니까?
답변1
귀하는 매우 복잡한 주제, 즉 여기 이 게시판의 간단한 답변으로 요약하기 어려운 주제를 다루고 계십니다.
Windows 메모리 관리. 다음 2부작 비디오 시리즈를 시청해 보시기 바랍니다.
http://northamerica.msteched.com/topic/details/WCL405
http://northamerica.msteched.com/topic/details/WCL406
귀하의 질문에 따르면 기본적으로 시스템의 메모리가 부족해지기 시작하면 메모리 관리자는 대기 목록, 수정된 페이지 목록 및 마지막으로 다른 프로세스의 작업 세트를 씹기 시작합니다.
따라서 귀하의 질문에 대답하자면 예, "메모리가 부족합니다. 시스템에서 이 돼지를 위해 일부 메모리를 확보하려면 어떻게 해야 할까요?"라는 자체 알고리즘에 따라 메모리 관리자가 이 작업을 수행하는 것입니다.