IIS Hang 증상시 메모리 덤프 생성하기

만약 IIS에서 행증상이 발생하였는데, 서비스 때문에 어쩔수 없이 재시작하였다고 가정해 봅시다.

그럼 이 원인은 해결할수 없는 미스터리로 남겠지요.. 그리고 다시금 행증상이 찾아오게 될것입니다.

이 때를 기다렸다가 ADPlus로 메모리 덤프를 생성하는 방법도 있습니다. 하지만 이건 사람이 수동으로 체크를 하고 있고, 장애시 수동 명령을 입력하여 실행하여야 하기 때문에 매우 느리게 됩니다. 다음 방법을 이용해 보시기 바랍니다. 그럼 URL을 체크하다가 해당 URL이 응답이 없을 때 행으로 간주하고 메모리 덤프를 자동으로 수집하게 됩니다.

   
 

그럼 그방법에 대해 알아봅시다.

   먼저 아래 다운로드 경로에서 IIS Diagnostics Toolkit를 다운로드 합니다.

http://www.microsoft.com/downloads/details.aspx?FamilyID=9bfa49bc-376b-4a54-95aa-73c9156706e7&DisplayLang=en

   
 

설치후 Debug Diagnostics Tool를 실행합니다.

여기에는 Crash Mode와 Hang Mode가 있는데 여기서는 Hang Mode만 설명하도록 하겠습니다.

   
 

1. DebugDiag를 시작합니다.

2. Select Rule Type 창에서 IIS Hang을 선택합니다.

이 창이 보이지 않으면 Add Rule… 버튼을 클릭합니다.

3. Select URLs to monitor창에서 Add URL 버튼을 클릭한 다음, 모니터링할 URL를 입력한다.

예) http://itka.kr/default.html 등입니다.

여러 개를 동시에 입력할수 있습니다.

4. Select Dump Targets 창에서 Add Dump를 클릭한 다음,

All active IIS related process를 선택해 합니다.

5. Select Dump Location And Rule Name 창에서 Rule이름과 Dump의 위치를 확인합니다.

6. Rule Completed 창에서 activate the rule now를 선택합니다.

   
 

* 만약 Hang이 발생하였는데, 덤프가 발생하지 않으면 Debug Diagnostics Tool의 Tools 메뉴에서 Create IIS Hang Dump를 클릭하시면 덤프가 강제로 생성됩니다. 3번 정도 실행해서 받아주사가 버럽나더,


   
 

문제가 발생시

DebugDiag는 자동으로 덤프를 받게되며, DebugDiag 창에서 Userdump Count 값이 증가하게 됩니다.

덤프가 받아 졌으면 DebugDiag가 설치된 경로의 Logs 폴더 전체를 압축후 분석 머신에서 분석하시면 됩니다.

Facebook Comments

Leave A Reply

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

This site uses Akismet to reduce spam. Learn how your comment data is processed.