본문 바로가기
Windows

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

by 올엠 2020. 11. 27.
반응형

이글은 앞서 작성한 DebugDiag 사용법에 IIS 메모리 덤프 사용법에 대한 글이다.

https://asecurity.dev/entry/DebugDiag-Process-Memory-Dump-%EC%88%98%EC%A7%91-%EB%B0%8F-%EB%B6%84%EC%84%9D-%EB%B0%A9%EB%B2%95

 

DebugDiag - Process Memory Dump 수집 및 분석 방법

클라이언트/서버를 개발하여 사용하던중 불특정하게 프로그램이 종료되거나 과도한 시스템 리소스를 사용하는 경우가 있다. 이를 분석하기 위해서는 해당 시점에 발생했던 이벤트와 실제 처리

asecurity.dev

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

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

이 때를 기다렸다가 ADPlus로 메모리 덤프를 생성하는 방법도 있습니다. 하지만 이건 사람이 수동으로 체크를 하고 있고, 장애시 수동 명령을 입력하여 실행하여야 하기 때문에 비효율적이다. 따라서 URL을 체크하다가 해당 URL이 응답이 없을 때 행으로 간주하고 메모리 덤프를 자동으로 수집하도록 하는게 효율적일 것이다.


앞서 얘기한 DebugDiag를 다운로드하고 설치후 Debug Diagnostics Collection Tool를 실행한다.

여기에는 Crash와 Performance 중 Performance를 통해 진행한다.

1. DebugDiag를 실행한다.

2. Select Rule Type 창에서 Performance을 선택한다.

3. 그리고 HTTP Response Times을 선택한다.

이제 모니터링 하고자 하는 URL을 입력한다.

예) http://asecurity.dev/default.html

여러 개를 동시에 입력할수 있고, 특정 페이지를 지정할 수도 있다.

메모리 덤프가 작동하는 타임은 Timeout이라고 인식하는 값이다. 응답이 Timeout이상으로 오지 않으면 메모리 덤프를 생성하도록 구성되기 때문에 이값은 적절하게 구성하여야 문제상황의 메모리 덤프를 생성할 수 있다.

4. Next를 누르고, Add Dump Target에 All active IIS related process를 선택해 한다.

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

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

 

문제가 발생시

DebugDiag는 자동으로 덤프를 받게되며, 메모리 덤프가 자동으로 생성되었다면, DebugDiag 창에서 Userdump Count 값이 증가하게 된다.

덤프가 받아 졌으면 DebugDiag가 설치된 경로의 Logs 폴더 전체를 압축후 Analyzer를 통해 분석하면 된다.

반응형

댓글0