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

번호 제목 글쓴이 날짜 조회 수
157 Windows2008 숨겨진 장치드라이버 삭제하기 file 호스트웨이 2012.05.11 15409
156 Windows 레지스트리 백업 file 호스트웨이 2012.05.11 14081
155 Windows 2003 Server에서 방화벽 Port Range 단위로 Allow file 호스트웨이 2012.05.11 18239
154 NTP 시간 동기화 호스트웨이 2012.05.11 13682
153 Windows NLB 구성 가이드 - 02 file 호스트웨이 2012.05.11 12722
152 네트워크 드라이브 유휴 연결 시간 변경 호스트웨이 2012.05.18 12130
151 손상된 ntfs.sys 파일 복구방법 호스트웨이 2012.05.18 13698
150 윈도우 운영체제가 지원하는 최대 메모리 크기 호스트웨이 2012.05.25 18127
149 Windows 탐색기에서 파일 확장자 보기 - Windows Server 2008 Urikiri 2012.05.25 16208
148 WIMC를 활용한 IT자산관리 Urikiri 2012.05.25 80364
147 Windows NLB 구성 가이드 - 03 Urikiri 2012.05.25 13021
146 Windows NLB 구성 가이드 - 04(마지막) Urikiri 2012.05.25 13026
145 Master Control Panel 생성 file 호스트웨이 2012.06.01 14370
144 PAL 을 사용하여 성능로그 분석하기 호스트웨이 2012.06.01 13921
143 [Sharepoint]사용자 지정 목록 file 호스트웨이 2012.06.01 12760
142 Windows 2008 클러스터 로그생성 방법 file 호스트웨이 2012.06.01 14707
141 Windows에서 포트 별 프로세스 확인 방법 file 호스트웨이 2012.06.08 16492
140 시스템종료 권한 삭제하기 file 호스트웨이 2012.06.08 15122
139 netstat명령으로 웹 동시접속자 카운트확인 file 호스트웨이 2012.06.08 30739
138 터미널 서비스 로그온, 로그오프시 중지되는 문제 호스트웨이 2012.06.11 11285