오락기/Linux

모니터링 cpu 사용량

문방구앞오락기 2018. 8. 17. 13:22

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)    

 

으로 계산하면된다 

 

 

 

전체  cpu  1444904 26875 682248 251512529 42105 0 19141 0 0 0 

전체  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