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 Windows에서 포트 별 프로세스 확인 방법 file 호스트웨이 2012.06.08 16491
96 Windows 2008 클러스터 로그생성 방법 file 호스트웨이 2012.06.01 14707
95 [Sharepoint]사용자 지정 목록 file 호스트웨이 2012.06.01 12760
94 PAL 을 사용하여 성능로그 분석하기 호스트웨이 2012.06.01 13921
93 Master Control Panel 생성 file 호스트웨이 2012.06.01 14370
92 Windows NLB 구성 가이드 - 04(마지막) Urikiri 2012.05.25 13026
91 Windows NLB 구성 가이드 - 03 Urikiri 2012.05.25 13021
90 WIMC를 활용한 IT자산관리 Urikiri 2012.05.25 80364
89 Windows 탐색기에서 파일 확장자 보기 - Windows Server 2008 Urikiri 2012.05.25 16208
88 윈도우 운영체제가 지원하는 최대 메모리 크기 호스트웨이 2012.05.25 18127
87 손상된 ntfs.sys 파일 복구방법 호스트웨이 2012.05.18 13698
86 네트워크 드라이브 유휴 연결 시간 변경 호스트웨이 2012.05.18 12130
85 Windows NLB 구성 가이드 - 02 file 호스트웨이 2012.05.11 12722
84 NTP 시간 동기화 호스트웨이 2012.05.11 13682
83 Windows 2003 Server에서 방화벽 Port Range 단위로 Allow file 호스트웨이 2012.05.11 18239
82 Windows 레지스트리 백업 file 호스트웨이 2012.05.11 14081
81 Windows2008 숨겨진 장치드라이버 삭제하기 file 호스트웨이 2012.05.11 15409
80 개체 엑세스 감사 file 호스트웨이 2012.05.11 11323
79 Windows NLB 구성 가이드 - 01 호스트웨이 2012.05.04 13452
78 Netsh advfirewall 컨텍스트 file 호스트웨이 2012.05.04 11488