Windows ETC

Pool Leak 문제 해결 - 1단계

2012.08.24 09:22

호스트웨이 조회 수:17162

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 스토리지 용도 HDD GPT 변환 및 포맷 방법 file 호스트웨이 2016.03.02 13722
236 svchost.exe 프로세스 서비스 분리하기 file 호스트웨이 2016.02.01 16807
235 PowerShell을 이용한 Alias(별칭) 만들기 file 호스트웨이 2015.12.31 13336
234 Windows Server 2012 원격 데스크탑 세션 제한 해제하기 file 호스트웨이 2015.09.18 29757
233 볼륨 섀도우 카피 공간 축소 방법 호스트웨이 2015.09.18 14020
232 winsxs폴더 용량 줄이기 호스트웨이 2015.09.18 15437
231 Dependency 도구 이용한 dll 종속성 확인 file 호스트웨이 2015.09.18 13325
230 DLL 파일이 필요할때 호스트웨이 2015.09.18 12177
229 DiskPart를 이용한 디스크 초기화 file 호스트웨이 2015.09.18 16215
228 forfiles를 이용한 파일 정리 호스트웨이 2015.09.18 13590
227 du.exe를 사용하여 폴더별 용량 확인 호스트웨이 2015.09.18 20121
226 DNS서버 캐시지우기 호스트웨이 2015.09.18 12594
225 터미널 서비스 포트 변경 호스트웨이 2015.09.18 15191
224 Windows 2008, 2012에서 특정IP에 원격접속 허용하기 file 호스트웨이 2015.09.14 25396
223 수동모드 FTP 서버에서 Windows 방화벽을 구성하는 방법 호스트웨이 2015.09.13 14438
222 삭제된 파일 복원 불가능하게 보안설정하기 file 호스트웨이 2015.09.09 13653
221 Windows 2008 에서 netsh로 방화벽 컨트롤 호스트웨이 2015.09.09 13491
220 tomcat이종료가안될때 호스트웨이 2015.09.07 12147
219 USB 설치 드라이브 만들기 호스트웨이 2015.09.07 14860
218 원격에서 터미널 연결된 세션 종료하기 호스트웨이 2015.09.07 15362