Header

  1. View current page

    migurazi의 개발 노트 season 1

Profile_image?t=1246427011&type=small
MFC, VC++ 6.0, Serial / TCP/IP, LED Signboard, Application, Program, Programmer
22

Process Explorer 를 이용한 High CPU Issue의 진단

출처 : "기억속으로 날다" 님의 Process Explorer를 이용한 High CPU Issue의 진단

 

Process Explorer 를 이용한 High CPU Issue의 진단
 

Process Explorer는 여러 모로 Application Troubleshooting에 유용한 툴이다. 개인적으로 경험상, High CPUDLL Injection에 대한 감시 등에 해당 Tool을 유용하게 사용하곤 했다.

 

 

 

 

일단, http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx 이곳에서 Process ExplorerDownload 받을 수 있다. 처음 실행하면, 상위와 같은 UI 화면을 확인 할 수 있는 데, View에서 Show Low Pane이 선택되어 있다면, 아래의 Pane을 확인할 수 있으며, 상위의 그림과 같이 선택된 ProcessModule list를 확인할 수 있다. 이는 알 수 없는 DLLinjection을 감시할 수 있도록 해 준다. 일반적으로 View MenuLow Pane View에서는 DLLs을 보여 줄지 Handles를 보여줄 지를 선택할 수 있는 데, Handles의 경우는 Handle Leak에 대한 감시를 할 수 있기도 하다.

 

상위의 화면을 보면, PIDCPU column 에서 CPU 사용량이 실시간으로 바뀌는 것을 볼 수 있는 데, 특정 ProcessCPU 점유가 눈에 띄게 보이는 경우, 해당 Process를 선택하고 오른 쪽 마우스 클릭에서 Properties 를 확인할 수 있다.

 

 

 

 

속성을 보면, Threads TAB이 존재하고 CPU를 점유하고 있는 Thread Stack을 확인할 수 있다. 하지만, 그전에 Debugging Tools for Windows 라는 MS에서 제공하는 ToolInstall 해야만 한다. 그리고, Process Explorermain menuOptions에서 Configure Symbols에 적절한 Symbol을 넣어 주지 않으면, 상위 속성 창에서의 Stack button을 눌렀을 때 적절한 Thread Stack을 확인할 수는 없다. 일반적으로 Microsoft에서 제공하는 Public Symbol path를 입력하고, 그리고 추가로 해당 Process가 사용하는 Exe,DLL에 대한 Symbol 필요하다.  보통은 SRV*c:\symbols*http://msdl.microsoft.com/download/symbols; c:\MySymbols; 이렇게 입력한다. 예상하다시피 c:\MySymbols Folder는 모니터링 Process가 사용하는 EXE, DLLs에 대한 Symbol이 저장된 위치이다. 그와 같은 경우에 아래와 같은 Thread Stack에 대한 정보를 얻을 수 있다.

 

 

 

 

 

 
-->
by 강세윤 | 2009/04/14 09:25 | Windows debugging | 트랙백 | 덧글(3)

 

 

History

Last edited on 06/12/2009 16:27 by migurazi

Comments (0)

You must log in to leave a comment. Please sign in.