류짱:Beyond MySelf

특정 드라이브에 프로세스네임xxxx.dmp가 생성 되는 이유? 본문

Microsoft/Windows Platform

특정 드라이브에 프로세스네임xxxx.dmp가 생성 되는 이유?

リュちゃん 2011. 1. 27. 19:29

서버의 여유 공간을 확보하기 위해서 여러 드라이브들의 폴더를 확인 하다가 아래와 같이 vssvc64xxxx.dmp 가 지속 적으로 생성 되는  폴더를 발견하여 해당 dump가 왜 생기는 확인 해달라는 문의를 받은 적이 있습니다.

vssvc는 통상적으로 Volume Shadow Copyservice의 프로세스 이름으로 알려져 있는데 왜 이 프로세스의 Dump가 지속적으로 생성이 되고 있을 까?

 

지워도 되는 건지 아니면 계속 나둬야 하는 건지  확인할 방법이 없어서 어떻게 해당 덤프들이 생성 되는지 확인을 해 보았습니다.

___________________________________________________________________________________________________

 

[환 경]

Window server 2003 EE  IA64 + SP2

[증 상]

서버에 S 드라이브에 아래와 같이 지속적으로 vsvc64xxxx.dmp가 생성 됨.

 

[확인 사항]

확장자가 덤프 파일이기에 먼저 Windbg에서 해당 덤프 파일을 열어 보았습니다. 심볼을 Fix하고 "|" 명령어를 입력해 보니 아래와 같이 C:\windows\system32\vssvc.exe  프로세스가 확인 되었습니다.
그리고 다시 한번 "||" 명령어를 입력 하니 dump의 위치가 위에서 언급한 대로 S:\dump 폴더 이더 군요......

=> VSSVC.exe
가 해당 덤프를 생성 함을 확인

Loading unloaded module list

..0:005> |

.  0        id: 9bf48 examine  name: C:\WINDOWS\system32\vssvc.exe

0:005> ||

.  0 Full memory user mini dump: S:\Dump\vssvc642660.dmp

그럼 왜 vssvc.exe가 이 덤프를 생성 할 까? 다시 의문이 생겼습니다.

혹시 해당 서버의 Default Debugger 가 잘못 되어 있는 건 아닐까 의심해 보았지만
Dr.watson이 기본 디버거로 설정 되어 있었고 application dump 파일은 최근에 하나도 생성 되지 않았음을 확인 하였습니다.

그러다 문득 그럼 혹시 User dump가 설정 되어 있지 않을 까하고 
제어판을 확인 해 보았습니다.

아래와 같이 user dump 설정이 구성 되어 있더군요...

제어판에서 Process dumper를 더블 클릭 하니 아래와 같이 Vssvc.exe 프로세스에 대해서 덤프를 설정 해 놓았었습니다. 휴.. 찾았다..ㅋㅋ

누가 언제 왜 이 설정을 했는지는? 그건 서버의 관리자만 알겠죠? 아니 모를 수도 있겠네요...

User dump 설정은 아래 KB참고 하시기 바랍니다.

Userdump.exe
도구를 사용하여 덤프 파일을 만드는 방법
http://support.microsoft.com/kb/241215/ko

예외가 발생하며 종료되는 프로세스에 대한 덤프 파일(.dmp) 만들기

1.     프로세서의 Setup.exe 프로그램을 실행합니다. 

참고

o    기본적으로 이 Setup.exe 프로그램은 C:\kktools\userdump8.0 폴더의 Userdump.exe 도구에 포함되어 있습니다.

o    Setup.exe 프로그램은 커널 모드 드라이버를 설치하고 Userdump.sys 파일을 설치하며 제어판에 Process Dump 아이콘을 만듭니다.

o    특별히 필요하지 않으면 Setup.exe 프로그램을 실행할 때 "dump on process termination" 기능을 해제하십시오.

2.     제어판에서 Process Dump를 두 번 누릅니다.

3.     Exception Monitoring 탭에서 New를 누르고 Monitor 목록에 적절한 프로그램 이름을 추가한 다음 OK를 누릅니다. 예를 들어, Lsass.exe, Winlogon.exe, Mtx.exe, Dllhost.exe 등의 프로그램 이름을 추가합니다.

4.     Monitor 상자에서 3단계에서 추가한 프로그램 이름을 누르고 Rules를 누릅니다.

5.     Custom Rules를 선택하고 Custom rules 목록에서 3단계에서 추가한 프로그램에 대해 발생시킬 오류 유형을 선택한 다음 OK를 누릅니다.

예를 들어, Access violation (c0000005) 오류 유형을 선택합니다.

모니터링되는 프로그램에서 액세스 위반 오류 메시지를 생성하면 Userdump.exe 도구가 시작되어%SystemRoot% 폴더에 덤프 파일(.dmp)을 만듭니다. .dmp 파일을 분석하면 Winlogon 액세스 위반 오류 메시지의 원인을 찾을 수 있습니다.

감사합니다^^