2009. 7. 13. 14:09
메모리 덤프 분석 (Dump) - 메모리 누수, System PTE 부족으로 인한 Hang Performance2009. 7. 13. 14:09
perfmon 결과 값에서 아래 값이 점차적으로 증가하면 메모리 누수 의심
Memory\Pool Nonpaged Bytes
Memory\Pool Paged Bytes
!vm 1 - 메모리 사용량 표시 -> Free System PTEs가 부족하지 않은지 확인
!sysptes - Total System PTE 확인 -> Total System Ptes와 Total free를 확인해 부족 여부 확인
!sysptes 4 - 모듈별로 사용한 PTE 표시
gflag를 이용해서 pooltagging Enable (2003은 Default로 enable)
pool usage - Pool 사용량 표시
!poolused - Module별로 Pool 사용량 표시
!poolused 2 - nonpage pool로 정렬 -> 메모리 많이 먹는 놈의 Pool Tag 확인
Pool Tag가 확인되었다면 어떤 드라이버가 사용하는지 확인
1. CMD 창에서는
C:\WINDOWS\system32\drivers 로 이동해서
findstr.exe /m /i <Tag Name> *.* - 해당 sys 파일이 확인된다
2. Windbg 에서는
!for_each_module s-a @#Base @#End "<Tag Name>" - 해당 Tag를 사용하는 메모리 주소가 확인된다
lm <Memory Address> - 메모리 주소에 Mapping되어 있는 파일이 확인된다.