vmstat 1 5 | egrep -e '^ *[0-9]' | awk '{total=total+$22}END{print total/5}'



위처럼 1초간 5회 (5초동안의 cpu idle)을 측정해서 5로 나눈 값을 출력하도록 하면 5초동안의 평균치가 나오므로 5분으로 하시려면



vmstat 1 300 | egrep -e '^ *[0-9]' | awk '{total=total+$22}END{print total/300}'



으로 가능하다고 봅니다.

단, 커맨드를 내린 뒤 300초간 측정하느라 응답이 없게 되므로 & 등으로 백그라운드 실행을 시키시면 좋을듯 싶습니다.



vmstat 1 300 | egrep -e '^ *[0-9]' | awk '{total=total+$22}END{print total/300}' &



더 응용하시면, 측정한 시간까지 넣어서 로그를 뽑을수도 있겠지요.



아 위에건 solaris에서 뽑은 것입니다.

cpu idle 위치는 vmstat 1 1 명령으로 몇번째에 위치해 있는지 확인하시고,

위 스크립트에서 {print $22} 부분을 고쳐주시면 됩니다.

(solaris가 22번째 필드에 cpu idle이 나왔기 때문에 $22 입니다.)



참고입니다만,

awk가 기본값으로 스페이스나 탭을 기준으로 문자열을 자르기 때문에 기본값으로 쓴 것입니다.

cpu idle 평균값 측정

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다