본문 바로가기

windbg

Livekd와 Windows Debugging tool을 이용한 Page pool 확인 방법 최근 C게임의 게임 서버에서 게임 서버 프로세스가 얘기치 않게 종료되는 장애가 발생하여 담당자의 요청으로 해당 서버를 살펴 보니 시스템이 시작 된지 얼마 되지 않았음에도 paged pool의 사용률이 매우 높았습니다. 담당자에게 물어보니 게임서버 프로세스가 종료 된 시점이 주말, 사용자가 그나마 가장 많은 시점이었고 물리 메모리가 90%이상 사용중이었으며 리소스 부족으로 게임 프로세스가 얘기치 않게 종료 되었다고 하여 아무래도 Paged pool이 2G이상의 물리 메모리를 사용하고 있어서 게임프로세스에 추가로 할당 할 메모리기 부족했었던 것 같아서 먼저 paged pool의 사이즈가 2G이상인 원인을 찾아보기로 했습니다.인터넷이 안되는 서버라 Windows Debugging tool과 Sysinterna.. 더보기
커널 메모리(Nonpaged pool, Paged pool) 사용량 모니터링 방법 Event 2019, 2020은 Nonpaged pool이나 Paged pool이 부족 할 경우 발생한다고 여러차례 설명을 하였습니다. Nonpaged pool과 pagde pool를 합쳐서 pool memory(풀 메모리)라고 합니다. http://ryuchan.kr/entry/Nonpaged-pool비페이징-풀-Paged-pool페이징-풀 이 풀 메모리에는 시스템 관련 드라이버나 커널 객체들이 로드 되는데 풀 메모리 부족 현상이 발생하는 주요 이유는 풀 메모리에 로드 되는 드라이버들의 메모리 누수(Leak) 때문입니다. 풀 메모리의 부족으로 Event 2019혹은 2020이 발생 한다면 아래와 같은 4가지 방법으로 시스템의 풀 메모리를 가장 많이 사용하는 Pool tag를 확인 할 수 있습니다. 문제.. 더보기
Windows server 프로세스 덤프 (user dump) 수집 방법 생각보다 user dump를 수집 할 수 있는 방법이 많네요.... userdump.exe / adplus / debug diag / process explorer / 작업 관리자 / procdum.exe ...등 등.. 정리 해 봅니다. 1. Userdump.exe 도구를 사용하여 덤프 파일을 만드는 방법 http://support.microsoft.com/kb/241215/ko 1. 아래 링크를 통하여 user dump tool을 다운로드 받아 설치합니다. http://www.microsoft.com/downloads/en/details.aspx?FamilyID=e089ca41-6a87-40c8-bf69-28ac08570b7e 2. 더블 클릭하여 실행하면 실행 파일이 C:\kktools\userdum.. 더보기
Windows server 2003 커널 리소스(Nonpaged pool, Paged pool) 최대 값 확인 Windows server의 Nonpaged pool과 Paged pool의 사용량과 최대 값을 확인 하는 방법을 정리 합니다. 작업 관리자나 성능 모니터를 통해서는 단순히 현재 사용 중인 커널 리소스의 사용량만 확인 할 수 있기 때문에 어느 시점에 해당 시스템에 문제가 발생 할 여지가 있을 지 이벤트 로그에 2019나 2020이 생성 되기 전에는 알 수가 없습니다. .. 혹은 시스템에 crash가 발생 하거나.........터미널 접속이 안된 다거나.. Hang 증상을 보인다거나 결국 어떻게든 문제가 발생해야 확인이 가능 하다는 것이죠.. 사전에 미리 예방 할 수 있는 방법은 없는 걸까요? 아래 방법을 이용하여 시스템의 사용 가능 한 최대 값을 확인 한 후 성능 모니터나 작업 관리자를 통해 지속적인 사.. 더보기