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을 의심, 실제 물리적인 메모리 사용량을 나타냄)

번호 제목 글쓴이 날짜 조회 수
237 Windows NT 아키텍처 - Part 4 호스트웨이 2012.11.30 702
236 메모리 관리 용어 정리 - Part 1 호스트웨이 2012.11.30 902
235 Window 2008 네트워크 연결 우선순위 설정 file 호스트웨이 2012.11.28 975
234 Wbamin 을 통하여 스냅샷이 삭제 불가 시 공간확보를 위해 vssadmin 을 이용하여 vss 삭제 호스트웨이 2012.12.01 985
233 지정된 시간에 서버다운 file 호스트웨이 2012.10.12 1038
232 Windows Update 시 80072F8F 에러 발생 file 호스트웨이 2012.11.01 1179
231 SC를 이용한 서비스 등록 호스트웨이 2012.09.21 1212
230 윈도우 실행창 목록 제거 file 호스트웨이 2012.11.15 1306
229 윈도우 설치 날짜 확인 file 호스트웨이 2012.10.25 1353
228 Window server 2008/R2 명령어로 역할/기능 추가 방법 file 호스트웨이 2012.10.18 1365
227 Windows NT 아키텍처 - Part 3 호스트웨이 2012.11.30 1455
226 Windows NT 아키텍처 - Part 1 호스트웨이 2012.11.30 1480
225 Windows NT 아키텍처 - Part 5 호스트웨이 2012.11.30 1488
224 메모리 관리 용어 정리 - Part 2 호스트웨이 2012.11.30 1543
223 특정 해당 사용자만 암호를 변경 하시고 싶으시다면 - 2 호스트웨이 2012.10.05 1549
222 원격 데스크톱 연결시 인증서 오류 질문 무시하는 방법 file 호스트웨이 2012.11.01 1777
221 전송속도 규격 호스트웨이 2012.12.01 1920
220 메모리 관리 용어 정리 - Part 5 호스트웨이 2012.11.30 1980
219 Windows NT 아키텍처 - Part 2 호스트웨이 2012.11.30 1987
218 Windows8과 Windows 2012의 "자동 메모리 덤프" 옵션 호스트웨이 2012.09.28 2088