티스토리 뷰

윈도우의 logman.exe를 사용하여, CPU 로드 및 Memory상태 정보를 로깅하고 리눅스처럼 모니터링 하는 방법입니다.

CPU 로드 확인

C:\WINDOWS\system32\logman.exe create counter cpuload -c "\PhysicalDisk(_Total)\Avg. Disk Queue Length"
C:\WINDOWS\system32\logman.exe update cpuload -si 15 -f tsv -o c:\stat\cpuload.tsv --v
C:\WINDOWS\system32\logman.exe start cpuload

위 명령어를 cmd 창에 실행하면, 15초 단위로 시간 및 CPU 로드 데이터가 15초 cpuload.tsv 파일에 남게 됩니다.

"(PDH-TSV 4.0) (Korea Standard Time)(-540)"                 -> time
"\\HOSTNAME\PhysicalDisk(_Total)\Avg. Disk Queue Length"    -> cpuload

리눅스의 uptime이나 top에서 나오는 min1, min5, min15 CPU 로드 평균값은, 아래와 같이 계산할 수 있습니다.

min1 : 1분 평균, 4개의 로깅값의 평균
min5 : 5분 평균, 20개의 로깅값의 평균
min15 : 15분 평균, 60개의 로깅값의 평균

 

Memory 사용률 확인

C:\WINDOWS\system32\logman.exe create counter memory -c "\Memory\Available Bytes" "\Memory\Cache Bytes" "\Memory\Commit Limit" "\Memory\Committed Bytes" "\Process(_Total)\IO Read Bytes/sec" "\Process(_Total)\IO Write Bytes/sec" "\Processor(_Total)\% Idle Time" "\Processor(_Total)\% Interrupt Time" "\Processor(_Total)\% Processor Time" "\Processor(_Total)\% User Time" "\Processor(_Total)\Interrupts/sec" "\System\Context Switches/sec"
C:\WINDOWS\system32\logman.exe update memory -si 30 -f tsv -o c:\stat\memory.tsv --v
C:\WINDOWS\system32\logman.exe start memory

위 명령어를 cmd 창에 실행하면, 30초 단위로 메모리 사용률이 memory.tsv 파일에 남게 됩니다.

"(PDH-TSV 4.0) (Korea Standard Time)(-540)"         -> time
"\\HOSTNAME\Memory\Available Bytes"                 -> free
"\\HOSTNAME\Memory\Cache Bytes"                     -> cache
"\\HOSTNAME\Memory\Commit Limit"                    -> swpd
"\\HOSTNAME\Memory\Committed Bytes"                 -> buff
"\\HOSTNAME\Process(_Total)\IO Read Bytes/sec"      -> bi
"\\HOSTNAME\Process(_Total)\IO Write Bytes/sec"     -> bo
"\\HOSTNAME\Processor(_Total)\% Idle Time"          -> id
"\\HOSTNAME\Processor(_Total)\% Interrupt Time"     -> wa
"\\HOSTNAME\Processor(_Total)\% Processor Time"     -> sy
"\\HOSTNAME\Processor(_Total)\% User Time"          -> us
"\\HOSTNAME\Processor(_Total)\Interrupts/sec"       -> in
"\\HOSTNAME\System\Context Switches/sec"            -> cs

리눅스의 vmstat 명령을 통해서 추출되는 데이터와 맵핑하면 다음과 같고, 단위는 다르기 때문에 맞춰줘야 합니다.

[Procs]
   r: 못찾음
   b: 못찾음

[Memory]
   swpd: Memory Object -> Commit Limit
   free: Memory Object -> Available Bytes
   buff: Memory Object -> Committed Bytes
   cache: Memory Object -> Cache Bytes

[Swap]
   si: 못찾음
   so: 못찾음

[IO]
   bi: process Object -> IO Read Bytes/sec
   bo: process Object -> IO Write Bytes/sec

[System]
   in: Processor Object -> Interrupts/sec
   cs: System Object -> Context Switches/sec

 [CPU]
   us: Processor Object -> % User Time
   sy: Processor Object -> % Processor Time
   id: Processor Object -> % Idle Time
   wa: Processor Object -> % Interrupt Time
   st: 못찾음
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
페이지
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함