모니터링 cpu 사용량
pi@js-pi:/proc $ cat stat
cpu 1176018 17108 442860 158601197 38527 0 10732 0 0 0
cpu0 287232 4515 105326 38803935 10998 0 5224 0 0 0
cpu1 272218 4421 139046 39901092 11655 0 4751 0 0 0
cpu2 320488 4071 99002 39938013 8049 0 386 0 0 0
cpu3 296080 4101 99486 39958156 7824 0 371 0 0 0
intr 987976230 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 130545414 0 0 0 0 0 222551 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 286005 0 0 132823 0 0 0 0 0 0 0 815486740 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 108643 9115 0 0 0 0 17801712 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ctxt 353354970
btime 1532877226
processes 253949
procs_running 1
procs_blocked 0
softirq 53205558 58766 13674817 228 2888656 7487 0 13659386 13448030 0 9468188
계산을 위해서 데이터 저장해보자
순서
user : 사용자 영역 코드 실행 시간
system: 커널 영역 코드 실행 시간
nice : 기본보다 낮은 우선순위로 실행한 사용자 영역 코드 실행 시간
idle : I/O 완료가 아닌 대기 시간
wait : I/O 완료 대기 시간
hi : Hard Interrupt(IRQ)
si : Soft Interrupt(SoftIRQ)
zero : 끝
cpu :user:system:nice:idle:wait:hi:si:zero
(idle jiffies)*100 / (idle jiffies + use jiffies + system jiffies + low prio jiffies) |
으로 계산하면된다
1 전체 cpu 1444904 26875 682248 251512529 42105 0 19141 0 0 0
2 전체 cpu 1444907 26875 682257 251514726 42106 0 19141 0 0 0
diff = [t]] - [t-1]
User모드 사용률 = user diff / usediff + systmediff + nice_diff + idel_diff *100
3 / ( 3 + 0 + 9 + 2197) = 0.0014 *100 = 0.14
35461 - 35457 = 4
1743978 - 1743552 = 426
34782 - 34770 = 12
4/ (4+ 426+ 12) = 0.009 * 100 = 0.9