본문 바로가기

Windows Platform

Xperf를 이용한 CPU 사용률 확인 방법 - #1

이번에는 xperf를 이용하여 Windows server 2003 시스템의 커널에서 실행 중인 시스템 드라이버가 사용 중인 CPU 사용률을 알아 보도록 하겠습니다.

xperf를 windows server 2003에 설치 하는 방법은 이전 포스팅을 참고 하십시오.
http://ryuchan.kr/104

먼저 명령 프롬프트를 이용해서 xperf가 설치 된 곳으로 이동하여 
아래와 같이 심볼을 설정 합니다.

Set.exe _NT_SYMBOL_PATH=srv*c:\Symbols*http://msdl.microsoft.com/download/symbols

심볼을 환경 변수에 등록하였으xperf –on Latency 명령어를 실행합니다. 그리고 약 20초 정도 후 아래와 같이 명령어를 입력하여 data 수집을 종료 합니다.
xperf –d kernel.etl

Kernel. etl 파일이 생성 되었습니다. 해당 파일을 xperfview가 실행 되는 windows server 2008 시스템으로 copy 합니다.

명령 프롬프트를 이용해 Windows server 2008의 xperf가 설치 된 곳으로 이동 한 후 아래와 같이 명령어를 입력 합니다.

위에서 수집 한 kernel.etl 분석 결과를 c:\kernel.txt로 저장 합니다.

xperf -i D:\기술지원\일별지원\20100722\kernel.etl -symbols verbose -a dpcisr > c:\kernel.txt

* 명령어 실행 전 xperf -help를 이용해서 필요한 옵션을 설정 하시기 바랍니다.

또한 아래와 같이 txt 형태로 저장하지 않고 .Etl 파일을 xperfview에서 열어서 CPU 사용률을 분석 할 수 도 있습니다.
분석 방법 => http://ryuchan.kr/105



생성 된 txt 파일을 확인 하면 아래와 같이 커널에서 실행 중인 driver 들의 CPU 사용률을 확인 할 수 있습니다. 테스트 머신이라 실제 사용률이 얼마 되지 않네요.... ^^

  CPU 0 Usage
     usec      %     Module
    16716   0.07   ACPI.sys
     3051   0.01    HTTP.sys
    46364   0.18   NDIS.sys
     2213   0.01    Ntfs.sys
    81914   0.32   TDI.SYS
    46224   0.18   USBPORT.SYS
     1690   0.01    VBoxGuest.sys
      358   0.00     afd.sys
    92062   0.36   atapi.sys
      825   0.00    fltmgr.sys
    18225   0.07   i8042prt.sys
      765   0.00    ipsec.sys
     3516   0.01   netbt.sys
    81180   0.32   ntoskrnl.exe
   168107   0.65   rdbss.sys
      855   0.00    srv.sys
   116178   0.45  tcpip.sys
     2956   0.01   watchdog.sys

Total = 1441
Elapsed Time, >        0 usecs AND <=        1 usecs,      1, or   0.07%
Elapsed Time, >        1 usecs AND <=        2 usecs,      0, or   0.00%
Elapsed Time, >        2 usecs AND <=        4 usecs,     14, or   0.97%
Elapsed Time, >        4 usecs AND <=        8 usecs,      2, or   0.14%
Elapsed Time, >        8 usecs AND <=       16 usecs,     12, or   0.83%
Elapsed Time, >       16 usecs AND <=       32 usecs,      7, or   0.49%
Elapsed Time, >       32 usecs AND <=       64 usecs,     79, or   5.48%
Elapsed Time, >       64 usecs AND <=      128 usecs,    121, or   8.40%
Elapsed Time, >      128 usecs AND <=      256 usecs,    222, or  15.41%
Elapsed Time, >      256 usecs AND <=      512 usecs,    345, or  23.94%
Elapsed Time, >      512 usecs AND <=     1024 usecs,    570, or  39.56%
Elapsed Time, >     1024 usecs AND <=     2048 usecs,     62, or   4.30%
Elapsed Time, >     2048 usecs AND <=     4096 usecs,      6, or   0.42%
Total,                                                  1441

전체 분석 로그를 보시려면 아래 아래 더 보기를 누르십시오^^

 

로그 더보기

 

[참고 자료]

Windows Performance Analyzer Overview
http://msdn.microsoft.com/en-us/library/windows/desktop/ff190927(v=vs.85).aspx