Windows ETC

Pool Leak 문제 해결 - 1단계

2012.08.24 18:22

호스트웨이 조회 수:13753

Pool 이란?

드라이버가 사용하는 가상 메모리

드라이버는 메모리 블락을 얻기 위해서 ExAllocatePoolWithTag를 호출

메모리관리자(Memory Manager)는 4K로 이루어진 가상메모리 페이지를 관리

메모리관리자는 블락단위로 Pool을 할당

Pool은 PagedPool과 NonPagedPool이 있음

- PagedPool : PageOut될 수 있음, 일반적으로 할당

- NonPagedPool : Paged 될 수 없음, DISPATCH_Level이나 그 이상의 IROL에서 읽거나 쓰여질 때 사용됨

Pool Leak 발생

드라이버가 ExAllocatePoolWithTag를 호출 할 때 ExFreePool 또는 ExFreePoolTag를 호출하지 못하는 증상

Leak는 메모리 사용률이 높다는 의미는 아님

Leak는 절대 감소, 반환되지 않지만 일반적인 메모리 사용은 증,감이 됨

증상

시스템 성능감소

64bit 시스템에서는 가용메모리가 크게 감소하기 시작함

성능 로그 수집 방법

Logman.exe create counter PerfLog-Long -o "c:\perflogs\\%computername%_PerfLog-Long.blg" -f bincirc -v mmddhhmm -max 300 -c "\LogicalDisk(*)\*" "\Memory\*" "\Cache\*" "\Network Interface(*)\*" "\Paging File(*)\*" "\PhysicalDisk(*)\*" "\Processor(*)\*" "\Processor Information(*)\*" "\Process(*)\*" "\Redirector\*" "\Server\*" "\System\*" "\Server Work Queues(*)\*" "\Terminal Services\*" -si 00:05:00

성능수집 시작

Logman.exe start PerfLog-Long

성능수집 중지

Logman.exe stop PerfLog-Long

분석방법

수집된 로그를 Perfmon을 통해서 불러옴

PoolNonpagedBytes 그레프의 증가 추이를 봄(꾸준히 증가하면 Memory Leak을 의심, 실제 물리적인 메모리 사용량을 나타냄)

번호 제목 글쓴이 날짜 조회 수
97 USB 저장 장치의 사용을 해제하는 방법 호스트웨이 2012.04.27 11774
96 FSMO(Flexible Single Master Operation) 역할 이전 호스트웨이 2012.04.20 11686
95 가상 주소 공간 최대화 호스트웨이 2012.06.23 11672
94 DNS 캐쉬 설정 변경 방법 호스트웨이 2012.04.13 11623
93 Netsh advfirewall 컨텍스트 file 호스트웨이 2012.05.04 11488
92 DNS 캐쉬 설정 호스트웨이 2012.12.13 11331
91 개체 엑세스 감사 file 호스트웨이 2012.05.11 11323
90 Wbadmin delete catalog 호스트웨이 2012.06.23 11321
89 터미널 서비스 로그온, 로그오프시 중지되는 문제 호스트웨이 2012.06.11 11285
88 FTP 451 Error 해결 file 호스트웨이 2012.09.06 11215
87 DHCP의 백업 및 복원 호스트웨이 2012.06.11 11130
86 Windows Server2008/ Server2008R2 성능 카운터 리빌드 하는 밥업 호스트웨이 2012.12.06 10982
85 HTTP 오류코드 메시지 호스트웨이 2012.08.24 10855
84 엔터프라이즈 위키 file 호스트웨이 2012.03.30 10847
83 도메인 컨트롤러간 통신을 위한 포트 호스트웨이 2012.10.05 10846
82 Contacts Import 를 통한 Lync 연락처 Import file 호스트웨이 2012.08.24 10822
81 AD 사용자 속성에 사진 추가하는 방법 file 호스트웨이 2012.08.31 10494
80 리소스 부족으로 프린터 작업을 계속할 수 없습니다 호스트웨이 2012.11.30 10455
79 svchost.exe 프로세스 서비스 분리하기 file 호스트웨이 2016.02.01 10306
78 ldifde.exe tool을 이용해서 현재 도메인의 개체들을 export 시키는 방법 호스트웨이 2012.11.15 10251