perfmon을 사용하여 메모리 누수 여부 확인
시간이 지남에 따라 Windows 성능이 저하되고 메모리 누수와 관련된 것으로 의심되는 경우 Windows 성능 모니터 사용하여 메모리 누수 여부를 조사합니다. 이 프로세스는 누수의 원인 또는 사용자 모드인지 커널 모드인지를 알려주지 않습니다.
먼저 성능 모니터 시작합니다. 성능 모니터 열려면 다음 절차 중 하나를 사용합니다.
- 시작 메뉴를 열고 성능 모니터 검색한 다음 결과를 클릭합니다.
Windows Key + R
바로 가기 키를 사용하여 실행 명령을 열고 입력perfmon
한 다음 확인을 클릭하여 엽니다.
카운터 추가
성능 모니터 연 후 기본 성능 모니터 그래프에 다음 카운터를 추가합니다. 모니터링 도구에서 성능 모니터 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
메모리-->풀 비페이징 바이트
메모리-->풀 페이징 바이트
페이징 파일-->% 사용량
충분한 활동을 캡처하도록 기간을 설정합니다.
시간에 따른 누수 그래프를 캡처하려면 매번 샘플을 600초로 설정하여 10분마다 값을 측정합니다. 충분한 활동을 캡처하도록 기간을 설정합니다. 예를 들어 24시간으로 설정하려면 나중에 60*60*24 = 86,400
검사할 수 있도록 데이터를 파일에 기록할 수도 있습니다.
애플리케이션 시작 및 모니터링
애플리케이션을 시작하거나 누출을 일으키는 것으로 생각되는 테스트를 시작합니다. 애플리케이션 또는 테스트가 일정 시간 동안 방해받지 않고 실행되도록 허용합니다. 는 이 시간 동안 대상 컴퓨터를 사용하지 않습니다. 누출은 일반적으로 느리며 감지하는 데 몇 시간이 걸릴 수 있습니다. 누출이 발생했는지 여부를 결정하기 전에 몇 시간 동안 기다립니다.
성능 모니터 카운터를 모니터링합니다. 테스트가 시작되면 카운터 값이 빠르게 변경되고 메모리 풀 값이 안정적인 상태에 도달하는 데 다소 시간이 걸릴 수 있습니다.
사용자 모드 메모리 누수는 항상 페이징 가능한 풀에 있으며 풀 페이징 바이트 카운터와 페이지 파일 사용량 카운터가 시간이 지남에 따라 꾸준히 증가합니다. 커널 모드 메모리 누수는 일반적으로 페이징되지 않은 풀을 고갈시켜 페이지가 아닌 풀 바이트 카운터가 증가하지만 페이징 가능한 메모리도 영향을 받을 수 있습니다. 애플리케이션이 데이터를 캐싱하기 때문에 이러한 카운터에 가양성 표시가 나타날 수 있습니다.