오늘은 저번에 알아보았던 xperf에 대해 추가사항을 알아보겟습니다.
windows performance toolkit을 설치 후에 다음 프로그램이 설치되어집니다.
xperf.exe - 성능을 받을 수 있는 command 프로그램
xbootmgr.exe - 부팅 시에 성능을 받을 수 있는 프로그램
xperfview.exe - 수집한 성능을 GUI로 확인할 수 있는 프로그램
이 중 오늘 알아볼 프로그램은 xbootmgr.exe에 대해 알아보도록 하겠습니다.
xbootmgr -help를 치면 다음과 같은 도움창이 나온다.
해당 xbootmgr의 옵션 중 몇가지 옵션에 대해 알아보도록 하겠습니다.
(1) -trace
: boot | hibernate | stanby | shutdown | rebootCycle
성능 수집 시 수집할 정보를 의미하며 Gathering할 시나리오에 따라 선택해 준다.
Option
(1) -numRuns Num (default : 1)
: 성능 정보를 받을 횟수 (default : 1회)
(2) -resultPath Path (default : Current Directory)
: 결과 저장 Folder를 의미하며 현재 디렉토리가 Default Directory이므로 굳이 사용하지 않아도 됩니다.
(3) -traceFlags Flags (default : BASE+CSWITCH)
: 성능 정보를 받을 Flag 정보
해당 Flag 정보는 xperf -help providers를 치면 제공되는 Providers에 대한
Flag정보를 확인 할 수 있다.
위의 그림과 같이 Provider의 Group을 제공하고 있으며 제공하는 상세 리스트는 다음 명령어를 수행하면 됩니다.
xperf -providers [Providers Group 명]
예를 들어 Kernel Group에서 제공하는 옵션 리스트에 대해 알아보겠습니다.
위와 같이 다양한 값이 있으며 해당 그룹을 입력하면 해당 값들을 바탕으로 수집되어 집니다.
xbootmgr -traceflags [옵션 값]을 치면 해당 값에 대해 값을 Gathering을 하게 됩니다.
예를 들어 Latency에 MEMINFO를 추가하기 위해서는 다음과 같이 수행합니다.
xbootmgr -traceflags Latency+MEMINFO
(4) -prepSystem (default : boot/rebootCycle Traces Only)
(5) -postBootDelay (default : 120 Seconds)
: booting 후 성능 Data를 수집하는 시간을 의미합니다.
(6) -stackWalk (default : no stackwalk filter enabled)
: Stack 추적을 사용할 수 있는 옵션
(xperf -help providers KS 에 stack walk flags의 리스트를 확인할 수 있음)
위의 항목을 바탕으로 Rebooting 시나리오를 가정하고 3번의 성능 Data를 수집하도록 하겠습니다.
(Call Stack 확인을 위해 stackWalk 옵션도 추가하겠습니다.)
xbootmgr -trace rebootCycle -traceflags Latency+MEMINFO -prepSystem -stackWalk Profile
다양한 옵션을 제공하기 때문에 상황에 맞춰 정보를 Gathring 하면 됩니다.