성능모니터링이 왜 필요 한가? 
windows 서버를 모니터링하는 방법중에 하나는 resource를 보는것이다. 
제품 장애를 처리하는 일을 하는 나에게는 pc 모니터링이 필요 할때가 있다. 

예를들어 pc가 느려서 javascript 수행속도가 엄청 느려야 발생하는 문제를 발견했을때. 
재현이 힘들다. 그래서 대상 pc에 cpu 모니터링을 통해 100을 치는 순간이 얼마나 되는지 체크해 보려고 한다. 

서버의 경우도 마찬가지 장시간의 리소스 사용기록을 보고 싶을 때 따로 툴을 만들지 않아도 된다.
맨 아래 bat로 실행하는 간단한 툴에 대한 소개가 있습니다.

windows7에서 해본 내용입니다.

참조 블로그 : http://jkmoon.tistory.com/76

windows xp 제어판 > 성능정보 및 도구 > 고급도구 > 성능 모니터 열기
또는 실행 > perfmon.msc 명령어로 실행 합니다.

아래와 같은 창이 나옵니다.


1. 모니터링 하고 싶은 할목 추가. 



Processor 항목을 펼치면 카운터들이 나오는데 필요한 것을 골라서 세팅 한다.  


성능모니터 우클릭 > 새로만들기 > 데이터 수집기 집합


- 이름 지정 cpu
- 저장 위치 지정 > 기본값
- 수집기 집합 > 기본값 

2. 데이터 수집기 설정.


디렉터리 속성에서는 날짜 별로 하위 드렉토리를 생성 할수 있게 설정 할 수 있다. 
(같은 디렉토리에 이미 파일이 있으면 실행 되지 않는다.)


일정탭으로 이동하여 일정을 등록 한다.


중지조건을 설정 할 수 있다. 
10시간 지나면 중지 (아직 완료가 안됨)


등록된 작업의 속성 확인.


1초 간격으로 값을 가져오도록 설정 합니다. 


시작을 누르면 모니터링 시작


C:\PerfLogs\Admin\cpu 경로에 파일이 생겨있는지 확인 합니다. 

파일이 생성 되었으면 성공.


이거말고 command를 이용하고 싶고 파일로 남기고 싶다면 

아래내용을 붙여서 bat 파일을 만들면 
1초에 한번씩 수집된 cpu 정보가 홈디렉토리 밑에 문서 밑에 해당 날자의 로그가 쌓인다.

@echo off

set CPUFILE_DATE=%DATE:~6,4%.%DATE:~3,2%.%DATE:~0,2%
set CPUFILE_TIME=%TIME:~0,2%.%TIME:~3,2%
set CPUFILE=spectra-cpu-%CPUFILE_DATE%-%CPUFILE_DATE%.log

@echo %CPUFILE%

typeperf "\Processor(_Total)\%% Processor Time" > %HOMEPATH%\Documents\%CPUFILE% 2>&1


Posted by 마법수정화살
,